Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

GetCurrentThread() в Service [D6, Win2k]


AlexandrRya ©   (2002-11-24 00:01:00) 

Короче, при вызове GetCurrentThread() в процедуре обработки события OnExecute сервиса возвращается какая-то ерунда. Сервис запускается при загрузке системы.
Проблема в общем-то в том, как узнать привилегии своей нитки из сервиса, так, что если есть другие варианты, то можно рассмотреть и их (без GetCurrentThread())


Vasily Terekhov   (2002-11-27 10:32:00) [1]

К сожалению, TApplication у сервиса не имеет явно handle :(
Я обмынывал так:

var
wnd: HWND;
.....
wnd := FindWindow("TApplication", "<Имя exe-сервиса>");

А вот по hwnd окна сервиса можно узнать процесс:

var
Process, Tread : Cardinal;
....
Tread := GetWindowThreadProcessId(wnd, @Process);


Наверх

Титульная страница Поиск, карта сайта Написать письмо