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

Вниз

Как узнать состояние службы?   Найти похожие ветки 

 
OneFragLeft ©   (2004-12-01 20:13) [0]

Собственно сабж, стоит только добавить, что требуется узнать, состояние стандартных сервисов, конкретно Messenger.
Спасибо.


 
Leonid Troyanovsky   (2004-12-01 21:15) [1]


> OneFragLeft ©   (01.12.04 20:13)  
> Собственно сабж, стоит только добавить, что требуется узнать,
> состояние стандартных сервисов, конкретно Messenger.


QueryServiceStatus ?

--
С уважением, LVT.


 
OneFragLeft ©   (2004-12-01 21:19) [2]

А как получит хэндл процесса?


 
VMcL ©   (2004-12-01 21:26) [3]

>>OneFragLeft ©  (01.12.04 21:19) [2]

Например: OpenProcess, CreateProcess, ShellExecuteEx


 
OneFragLeft ©   (2004-12-01 21:33) [4]

Спасибо большое, но вот ещё вопрос: что указывать в качестве dwProcessId, где можно узнать какой он у определённой службы?


 
VMcL ©   (2004-12-01 21:39) [5]

>>OneFragLeft ©  (01.12.04 21:33) [4]

А зачем, собственно?


 
OneFragLeft ©   (2004-12-01 21:44) [6]

Хм..
HANDLE OpenProcess(
      DWORD dwDesiredAccess, // access flag
      BOOL bInheritHandle, // handle inheritance flag
      DWORD dwProcessId // process identifier
      );


 
VMcL ©   (2004-12-01 21:47) [7]

>>OneFragLeft ©  (01.12.04 21:44) [6]

Не вижу связи OpenProcess с сабджевой темой.


 
OneFragLeft ©   (2004-12-01 21:51) [8]

[3]:)


 
VMcL ©   (2004-12-01 22:01) [9]

>>OneFragLeft ©  (01.12.04 21:51) [8]

[3] - это ответ на [2]. А связи [2] ни с сабджем, ни с [1] я, вообще-то, тоже не вижу.


 
OneFragLeft ©   (2004-12-01 22:05) [10]

BOOL QueryServiceStatus(
    SC_HANDLE hService, // handle of service
    LPSERVICE_STATUS lpServiceStatus  // address of service status structure  
    );

Вот сюда надо хэндл. Поэтому я и спросил как его найти.
OpenProcess дает его, но надо ID проесса. Так?


 
VMcL ©   (2004-12-01 22:10) [11]

>>OneFragLeft ©  (01.12.04 22:05) [10]

Вообще-то здесь хендла процесса в упор нету. Здесь есть хендл сервиса (SC_HANDLE).

Если бы Вы прочитали справку, Вы бы увидели:
hService
[in] Handle to the service. This handle is returned by the OpenService or the CreateService function


В общем случае порядок вызова такой:
OpenSCManager(), OpenService(), QueryServiceStatus(), CloseServiceHandle(), CloseServiceHandle().


 
OneFragLeft ©   (2004-12-01 22:12) [12]

А Вы не подскажите, в каком модуле описана QueryServiceStatus()? Я его что-то найти не могу.


 
OneFragLeft ©   (2004-12-01 22:21) [13]

Ой, я уже нашёл.



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
1-1104858342
Sun bittern
2005-01-04 20:05
2005.01.23
WIN32_FIND_DATA (большой размер файла)


1-1105544827
chir
2005-01-12 18:47
2005.01.23
Sender... кто же вызвал процедуру?...


1-1104990911
Алина
2005-01-06 08:55
2005.01.23
Edit-Combobox


4-1102093835
кактусбел
2004-12-03 20:10
2005.01.23
Поиск фаила в каталоге и его подкаталогах


3-1103521111
КаПиБаРа
2004-12-20 08:38
2005.01.23
Алгоритм реализации расчетов на основе БД