Главная страница
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.029 c
1-1105616091
Zilog
2005-01-13 14:34
2005.01.23
группы SpeedButton ов


14-1104493741
Кудесник
2004-12-31 14:49
2005.01.23
Вот почему "С лёгким паром" показывают каждый год...


3-1103367985
Серый
2004-12-18 14:06
2005.01.23
Вычисляемое поле


3-1103377788
МАХНО
2004-12-18 16:49
2005.01.23
пароль на БД


1-1105314179
Фёдор Мегатронов
2005-01-10 02:42
2005.01.23
Алгоритм деления файла на фрагменты.