Главная страница
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.026 c
15-1182599993
NailMan
2007-06-23 15:59
2007.07.22
Классные видеоряды на наши Ну-Погоди!


2-1182855558
Nikfel
2007-06-26 14:59
2007.07.22
Как освободить память программы


15-1182767431
Andy BitOff
2007-06-25 14:30
2007.07.22
СтОит ли городить огород?


15-1182774790
db2admin
2007-06-25 16:33
2007.07.22
СМСЦ


4-1171289944
Khabibulin
2007-02-12 17:19
2007.07.22
system wide hook