![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать имя пользователя, запустившего приложение? [D7, XP]
Dimon777 © (2007-06-26 12:16:00)Как узнать имя пользователя, запустившего приложение?
Причем это надо сделать до инциализации этого приложения.
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Здесь надо узнать имя пользователя
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Dimon777 (2007-06-26 15:07:00) [1]Да все нормально, все работает, проблема решена!
Сергей М. (2007-06-26 15:02:00) [2]
> GetUserName вызвать не так уж просто
И что ?
Ну вызови "сложно" - что это изменит ?
У функции вполне конкретная задача, и функция с ней отлично справляется, несмотря на "уровень простоты" ее вызова.
Ы?
Dimon777 (2007-06-26 14:07:00) [3]
> Это ясно, просто под фразой «Как узнать» скорее всего кроется
> «как сдлать некие дйствия сэтим именем, а возможно и условный
> переход» :)
>
> А вооще конечно, что примать под «инциализации приложения»,
> если посмотреть на [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.
homm (2007-06-26 12:55:00) [4]> система это и так делает. всегда.
Это ясно, просто под фразой «Как узнать» скорее всего кроется «как сдлать некие дйствия сэтим именем, а возможно и условный переход» :)
А вооще конечно, что примать под «инциализации приложения», если посмотреть на [0], то автор имел ввиду Application.Initialize, а мне вот подумалось что это до вызова системой CreateProcess.
KilkennyCat (2007-06-26 12:49:00) [5]
> homm © (26.06.07 12:31) [2]
система это и так делает. всегда.
homm (2007-06-26 12:31:00) [6]> Как узнать имя пользователя, запустившего приложение?
Попросить его ввести свое имя в диалоговом окне, либо четко проговорить в микрофон :)
> Причем это надо сделать до инциализации этого приложения.
До? Значит это должна делать система, а не твое приложение? Это врят-ли.
iXT (2007-06-26 12:28:00) [7]GetUserName :)