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

Вниз

LogonUser   Найти похожие ветки 

 
VitalMoya   (2003-02-12 22:25) [0]

Как узнать имя пользователя который запустил програму


 
ZZ ©   (2003-02-13 00:28) [1]

OpenProcess->OpenProcessToken->GetTokenInformation


 
bak ©   (2003-02-13 10:58) [2]

function GetCurrentUserAndDomain (
szUser : PChar; var chUser: DWORD; szDomain :PChar; var chDomain : DWORD; Process: string; mode: byte
):Boolean;
var
hToken : THandle;
cbBuf : Cardinal;
ptiUser : PTOKEN_USER;
snu : SID_NAME_USE;
PID: longint;
begin
Result:=false;
// Получаем маркер доступа текущего потока нашего процесса
// if not OpenThreadToken(GetCurrentThread(),TOKEN_QUERY,true,hToken)
// then begin
// if GetLastError()<> ERROR_NO_TOKEN then exit;
// В случее ошибки - получаем маркер доступа нашего процесса.
case mode of
1: PID:= GetAllProcessesInfo(false, Process);
2: PID:= GetFirstID(Process);
end;

if not OpenProcessToken({GetCurrentProcess()}OpenProcess(PROCESS_QUERY_INFORMATION, false, PID),TOKEN_QUERY,hToken)
then exit;
// end;

// Вывываем GetTokenInformation для получения размера буфера
if not GetTokenInformation(hToken, TokenUser, nil, 0, cbBuf)
then if GetLastError()<> ERROR_INSUFFICIENT_BUFFER
then begin
CloseHandle(hToken);
exit;
end;

if cbBuf = 0 then exit;

// Выделяем память под буфер
GetMem(ptiUser,cbBuf);

// В случае удачного вызова получим указатель на TOKEN_USER
if GetTokenInformation(hToken,TokenUser,ptiUser,cbBuf,cbBuf)
then begin
// Ищем имя пользователя и его домен по его SID
if LookupAccountSid(nil,ptiUser.User.Sid,szUser,chUser,szDomain,chDomain,snu)
then Result:=true;
end;

// Освобождаем ресурсы
CloseHandle(hToken);
FreeMem(ptiUser);
end;


 
MoyaVital   (2003-02-13 22:25) [3]

Большое сппппппааааааасибо!!!!!!!!!



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

Текущий архив: 2003.04.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-44353
Карлосон
2003-03-30 23:17
2003.04.14
Hello Programist А можно ли перевести Дату в числовой тип данных


14-44448
Sils
2003-03-29 08:58
2003.04.14
святой набор


6-44316
Adventure
2003-02-23 16:06
2003.04.14
Совсем смешной вопрос!


1-44136
Андрусь
2003-04-03 10:59
2003.04.14
Является ли корректным такое освобождение памяти


3-44025
Nikola62
2003-03-25 13:00
2003.04.14
Paradox 4.5 for Dos. Как отобразить данные в Гриде?