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

Вниз

Запуск приложения   Найти похожие ветки 

 
mishabik ©   (2004-11-16 17:19) [0]

Подскажите, как запустить приложение от имени зарегистрированного пользователя системы. Имя пользователя и пароль известны


 
Burmistroff   (2004-11-16 20:08) [1]

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;


 
BiN ©   (2004-11-17 09:39) [2]

>> Burmistroff   (16.11.04 20:08) [1]

В W2k в пользовательском контексте работать не будет.


 
mishabik ©   (2004-11-17 13:18) [3]

Спасибо, попробую.



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

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

Наверх




Память: 0.47 MB
Время: 0.074 c
3-1102323542
korvin
2004-12-06 11:59
2005.01.02
Параметр в хранимую процедуру


4-1100592227
MaxxSoft
2004-11-16 11:03
2005.01.02
System Tray


6-1097953926
Socket
2004-10-16 23:12
2005.01.02
TTcpClient


1-1103400620
Алексей
2004-12-18 23:10
2005.01.02
буфер обмена


14-1102531328
begin...end
2004-12-08 21:42
2005.01.02
Выбор монитора