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

Вниз

Проблема с запуском программы от лица другого пользователя   Найти похожие ветки 

 
Виталик ©   (2005-04-26 19:11) [0]

function TService1.StartAsUser(const CmdLine: string):boolean;
var
 h: Cardinal;
 s: TStartupInfo;
 p: TProcessInformation;
 dir: string;
begin
 dir:=ExtractFileDir(CmdLine);
 result:=LogonUser(Pchar("UserName"),nil,Pchar("userpassword"), LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, h);
 s.cb := SizeOf(s);
 s.lpReserved:=nil;
 s.lpDesktop:=PChar("");
 s.lpTitle:=nil;
 s.dwFlags:=STARTF_USESHOWWINDOW;
 s.wShowWindow:=SW_Show;
 s.cbReserved2:=0;
 s.lpReserved2:=nil;

 result:=CreateProcessAsUser(h, @CmdLine[1], nil,nil, nil, false, CREATE_DEFAULT_ERROR_MODE, nil, @dir[1], s, p);

 CloseHandle(p.hThread);
 CloseHandle(p.hProcess);
 CloseHandle(h);
end;

После выполнения ровно ничего не происходит.

при LogonUser Result=-1
при CreateProcessAsUser Result=1314

Что делать?
Функция вызывается из сервиса.


 
kami ©   (2005-04-26 20:04) [1]

поиск - оно рулез  http://delphimaster.net/view/4-1109896516/


 
kami ©   (2005-04-26 20:10) [2]

А вообще - как пишет MSDN
The function returns an impersonation token, not a primary token. You cannot use this token directly in the CreateProcessAsUser function. However, you can call the DuplicateTokenEx function to convert the token to a primary token, and then use it in CreateProcessAsUser.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1117517605
Grach
2005-05-31 09:33
2005.06.14
Сжатие файлов (преобразование Фурье)


3-1115301839
Alexandr
2005-05-05 18:03
2005.06.14
DbGridEh+FibPlus сортировка


14-1116941725
vecna
2005-05-24 17:35
2005.06.14
МВД собирается застраховать россиян от совершения преступлений


14-1117161434
-[ HAWK ]-
2005-05-27 06:37
2005.06.14
Исходник взломщика для игр


14-1116938796
Игорь Шевченко
2005-05-24 16:46
2005.06.14
А разве Узбекистан стал подконтрольной НАТО территорией ?