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

Вниз

Проблема с TService   Найти похожие ветки 

 
Nemec ©   (2007-05-04 22:11) [0]

Здравствуйте мастера. Такая проблема. Сервис по событию выключает компьютер. До сиз пор проблем не было. Теперь в силу обстоятельств, сервис запускается из под учетной записи (на компе она является адмиром). Комп перестал выключатся пока не войдешь в систему. Может кто подскажет как с этим справиться. Заранее спасибо.


 
Nemec ©   (2007-05-04 22:13) [1]

Использую ExitWindowsEx, привилегии даются.


 
Nemec ©   (2007-05-05 11:34) [2]

Использую следующий код:
function TService1.WinExit(iFlags: integer): boolean;
//   возможные флаги:
//   EWX_POWEROFF + EWX_FORCE
//   EWX_LOGOFF
//   EWX_REBOOT
//   EWX_SHUTDOWN
begin
 Result := True;
 If SetPrivilege("SeShutdownPrivilege", true)
 Then
 begin
   WriteLn (F, "Привилегии получены");
   Try
     If not ExitWindowsEx(iFlags, 0)
     Then
     begin
       WriteLn(F, IntToStr(GetLastError()));
       Result := False;
     end;
   except
     WriteLn(F, IntToStr(GetLastError()));
   end;
   SetPrivilege("SeShutdownPrivilege", False)
 end
 else
 begin
   Result := False;
 end;
end;

Может кто подскажет в чем дело, комп не выключается пока не войдешь в систему.
Если сервис запускается с системной учетной записью все Ок.


 
Leonid Troyanovsky ©   (2007-05-05 12:15) [3]


> Nemec ©   (05.05.07 11:34) [2]

http://groups.google.com/group/fido7.ru.delphi/msg/4f6cb6c1e2e77ec7

--
Regards, LVT.


 
Nemec ©   (2007-05-05 14:12) [4]

Спасибо Леонид за ссылку. Но дело в том, что привилегии получаются, функция ExitWindowsEx похоже выполняется (в логе пусто) и вся эта фишка отлично работала и работает под системной учетной записью. Проблема как раз в том, что если я запускаю сервис от имени пользователя (пусть даже этот пользователь админ), все это почему-то не хочет работать, пока не войдешь в систему.
А может я дурак, чего не понимаю!!!


 
Leonid Troyanovsky ©   (2007-05-05 14:37) [5]


> Nemec ©   (05.05.07 14:12) [4]

> А может я дурак, чего не понимаю!!!

Видимо, ExitWindowsEx должно быть из интерактивной станции.
Попробуй вместо него InitiateSystemShutdown
(после установки прав).

--
Regards, LVT.



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

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

Наверх





Память: 0.46 MB
Время: 0.042 c
15-1191840512
allrussia
2007-10-08 14:48
2007.11.11
"Кракозябры" при вставке из буфера


8-1169034939
Vovan #2
2007-01-17 14:55
2007.11.11
Работа со звуком в Delphi


2-1192704764
kuat
2007-10-18 14:52
2007.11.11
3D MAX


2-1192884365
user1024
2007-10-20 16:46
2007.11.11
Как записать значение типа Memo в таблицу БД?


2-1192606931
ari_9
2007-10-17 11:42
2007.11.11
в run-time расположить отн. друг друга комп. с одинаковым align





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский