Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Вниз

Как узнать имя пользователя, запустившего приложение?   Найти похожие ветки 

 
Dimon777 ©   (2007-06-26 12:16) [0]

Как узнать имя пользователя, запустившего приложение?
Причем это надо сделать до инциализации этого приложения.

program Project1;

uses
 Forms,
 Unit1 in "Unit1.pas" {Form1};

{$R *.res}

begin
 Здесь надо узнать имя пользователя
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


 
iXT ©   (2007-06-26 12:28) [1]

GetUserName :)


 
homm ©   (2007-06-26 12:31) [2]

> Как узнать имя пользователя, запустившего приложение?

Попросить его ввести свое имя в диалоговом окне, либо четко проговорить в микрофон :)

> Причем это надо сделать до инциализации этого приложения.

До? Значит это должна делать система, а не твое приложение? Это врят-ли.


 
KilkennyCat ©   (2007-06-26 12:49) [3]


> homm ©   (26.06.07 12:31) [2]

система это и так делает. всегда.


 
homm ©   (2007-06-26 12:55) [4]

> система это и так делает. всегда.

Это ясно, просто под фразой «Как узнать» скорее всего кроется «как сдлать некие дйствия сэтим именем, а возможно и условный переход» :)

А вооще конечно, что примать под «инциализации приложения», если посмотреть на [0], то автор имел ввиду Application.Initialize, а мне вот подумалось что это до вызова системой CreateProcess.


 
Dimon777 ©   (2007-06-26 14:07) [5]


> Это ясно, просто под фразой «Как узнать» скорее всего кроется
> «как сдлать некие дйствия сэтим именем, а возможно и условный
> переход» :)
>
> А вооще конечно, что примать под «инциализации приложения»,
>  если посмотреть на [0], то автор имел ввиду Application.Initialize


Именно!

Вот рабочий код вызова этой самой GetUserName. Пример взят с королевства. Оказывается GetUserName вызвать не так уж просто!!!

program Project1;

uses
 Forms,
 SysUtils,
 Windows,
 Unit1 in "Unit1.pas" {Form1};

{$R *.res}

var s:string;

function userName: string;
var
 Buf: array[0..255]of char;
 c: cardinal;
begin
 c:=Length(Buf);
 if getUserName(Buf, c) then
   result:=Buf
 else
   RaiseLastOSError;
end;

begin
 //и уже здесь можно что-нибудь делать с UserName, например присвоить:
 S:=userName;
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


 
Сергей М. ©   (2007-06-26 15:02) [6]


> GetUserName вызвать не так уж просто


И что ?

Ну вызови "сложно" - что это изменит ?

У функции вполне конкретная задача, и функция с ней отлично справляется, несмотря на "уровень простоты" ее вызова.

Ы?


 
Dimon777 ©   (2007-06-26 15:07) [7]

Да все нормально, все работает, проблема решена!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
4-1171368306
DVM
2007-02-13 15:05
2007.07.22
CloseHandle вызывает исключения?


6-1166520949
Rentgen
2006-12-19 12:35
2007.07.22
Узнать сетевой трафик TIdHTTPServer


2-1183108223
_Asph
2007-06-29 13:10
2007.07.22
QueryPerformanceFrequency


15-1182519740
Petr V.Abramov
2007-06-22 17:42
2007.07.22
Посоветйте книжку по Access для чайников


15-1182586025
Predfer
2007-06-23 12:07
2007.07.22
Как убрать процесс из автозагрузки?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский