Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.22;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
15-1182493788
CCill
2007-06-22 10:29
2007.07.22
Как организовать загрузку в безопастном режиме?


1-1179386675
ewer
2007-05-17 11:24
2007.07.22
Вызов скрипта на Matlab е из программы на Delphi


15-1182120075
midi
2007-06-18 02:41
2007.07.22
Кто знает смысл этой функции?


2-1182861958
Tack
2007-06-26 16:45
2007.07.22
Как узнать, пуст ли буфер обмена Windows в настоящий момент?


2-1183043858
иван8511
2007-06-28 19:17
2007.07.22
Копирование всех файлов из одной папки