Delphi InputDesktop TService

Тема в разделе "WASM.WIN32", создана пользователем nbyte, 31 дек 2007.

  1. nbyte

    nbyte New Member

    Публикаций:
    0
    Регистрация:
    27 май 2007
    Сообщения:
    161
    Здравствуйте.
    Работаю в Delphi и юзаю компонент для сервиса который называется TService.
    Хочу при старте сервиса поменять Desktop у сервиса на InputDesktop.
    Делаю это так
    Код (Text):
    1.     hDesktop:= OpenInputDesktop(0, false, GENERIC_ALL);
    2.     if hDesktop = 0 then
    3.     begin
    4.       MessageBox(0, 'Error', 'Message', MB_OK or MB_SERVICE_NOTIFICATION);
    5.     end;
    6.  
    7.     if not SetThreadDesktop(hDesktop) then
    8.     begin
    9.       MessageBox(0, 'Error', 'Message', MB_OK or MB_SERVICE_NOTIFICATION);
    10.     end;
    Но почемуто этот код выполняет только в методе OnExecute у TService.
    Подскажите пожалуйста в чем тут дело?
     
  2. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    nbyte
    Вам лучше подскажут на Дельфийском форуме.