Форум: "WinAPI";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
ВнизКак узнать состояние службы? Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c