Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
Виталик ©   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.051 c
4-1113987033
LineSoft
2005-04-20 12:50
2005.06.14
Управление принтерами


14-1116931370
VX
2005-05-24 14:42
2005.06.14
Где узнать Все свойства Всех компонент Delphi?


14-1116945369
DiamondShark
2005-05-24 18:36
2005.06.14
Лучше день потерять, потом за пять минут долететь?


3-1115890553
Term
2005-05-12 13:35
2005.06.14
Проблема с BuckUp ом


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский