1

Тема: AHK: Проверка процесса на принадлежность к службам

Приветствую.

Понадобилось мне идентифицировать/проверить процесс(ы) на принадлежность их к сервисам, а вот как, я лично не знаю.

Подскажите.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Эл. почта: dysansven@gmail.com Skype: indomito_64
Правила - основные.

2

Re: AHK: Проверка процесса на принадлежность к службам

Path = C:\Windows\system32\svchost.exe

MsgBox % ComObjGet("winmgmts:").ExecQuery("SELECT * FROM Win32_Service WHERE PathName LIKE '%" . StrReplace(Path, "\", "\\") . "%'").Count ? "Служба" : "Не служба"
PID = 992

MsgBox % ComObjGet("winmgmts:").ExecQuery("SELECT * FROM Win32_Service WHERE ProcessId=" . PID).Count ? "Служба" : "Не служба"

; Либо:
RunWait, %ComSpec% /c for /f `%# in ('tasklist /fi "SessionName eq Services" /fi "pid eq %PID%"^|find /i /c ".exe"') do exit /b `%#,, Hide UseErrorLevel
MsgBox, % ErrorLevel ? "Служба" : "Не служба"

Заголовок уточнён.

3 (изменено: Indomito, 2017-04-21 21:17:53)

Re: AHK: Проверка процесса на принадлежность к службам

Flasher пишет:

Заголовок уточнён.

Спасибо, а то я долго искал верное название.

Второй  код чем принципиально отличается от второго, до комментария ;Либо:?

P.S. Это для бестолковых... Вижу отличия, конечно, но желательно уточнить, если не сложно.

UPD
Всё, разобрался - вопрос закрыт.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Эл. почта: dysansven@gmail.com Skype: indomito_64
Правила - основные.