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

Вниз

Как узнать имя пользователя (UserName) Windows?   Найти похожие ветки 

 
SetVer   (2003-03-20 14:20) [0]

1. При входе в домен пользователь набирает UserName & Password как в NT так и в 9x системах. Как можно узнать имя текущего пользователя (полное)?
2. Если мне известно имя пользователя и пароль, как я могу запустить программу и дать ей права этого пользователя?

Заранее спасибо.


 
Жук ©   (2003-03-20 15:04) [1]

GetUserName


 
SetVer   (2003-03-20 19:01) [2]

>> Жук: Спасибо, конечно, но этого я ни в одном хелпе для D5 не нашел. Нельзя ли поподробнее?


 
DVM ©   (2003-03-20 19:09) [3]

Help не для D5 а по WinApi скорее. Но поискать то можно было самостоятельно в базе готовых решений:
http://delphibase.endimus.com/?action=viewfunc&topic=sysparams&id=10009


 
Burmistroff   (2003-03-20 21:07) [4]

procedure WinExecAsUser(FileName: string; username: string; password:
string; Visibility:
integer);
var { V1 by Pat Ritchey, V2 by P.Below }
zAppName : array[0..512] of char;
StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
h : thandle;
begin { WinExecAndWait32V2 }
StrPCopy(zAppName, FileName);
FillChar(StartupInfo, Sizeof(StartupInfo), #0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not LogonUser(pchar(username), ".", pchar(Password),
LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, h) then
MessageBoxA(0, PChar(SysErrorMessage(GetLastError)), "Error", MB_OK);
CreateProcessAsUser(h, nil,
zAppName, { pointer to command line string }
nil, { pointer to process security attributes }
nil, { pointer to thread security attributes }
false, { handle inheritance flag }
CREATE_DEFAULT_ERROR_MODE,
nil, { pointer to new environment block }
nil, { pointer to current directory name }
StartupInfo, { pointer to STARTUPINFO }
ProcessInfo); { pointer to PROCESS_INF }
if GetLastError <> 0 then MessageBoxA(0, PChar(SysErrorMessage(GetLastError)), "Error", MB_OK);
end;


 
Жук ©   (2003-03-21 08:04) [5]

procedure TFPrinc.Whod;
var
s:String;
Buffer:array [0..256] of Char;
nSize:DWORD;
begin
s:="";
nSize:=SizeOF(Buffer);
GetUserName(@Buffer, nSize);
s:=StrPas(@Buffer);
end;


 
SetVer   (2003-03-21 10:19) [6]

>> 2 All:
Ребята, спасибо большое. Все получилось :).



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
6-46867
sancho
2003-03-17 23:10
2003.05.15
О подключении к интернету


14-46944
OKA
2003-04-25 22:14
2003.05.15
Rotate for TLabel


14-46937
Valentino
2003-04-25 15:55
2003.05.15
Нужен пример создания файла-теста для тестирующей программы?


3-46606
Rol
2003-04-22 11:08
2003.05.15
TIBDataSet.UpdateRecordTypes


3-46566
Behemoth
2003-04-25 09:03
2003.05.15
Репликация БД.