Что нового

Получение состояния службы Windows

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
$pid=Run('sc query dhcp','','',0x2)
$read=''
While 1
    $read &= StdoutRead($pid)
    If @error Then ExitLoop
    Sleep(1)
WEnd
$str=StringRegExp($read,'STATE.*?:(.*)',1)
MsgBox(0,'',$str[0])
 

SharkyEXE

Новичок
Сообщения
134
Репутация
0
sngr

Все равно ошибка

firex

А куда в Вашем примере прописать название службы , запустить и получить вывод?
 

Вложения

  • 2017-12-24_0005.jpg
    2017-12-24_0005.jpg
    186.5 КБ · Просмотры: 24

firex

AutoIT Гуру
Сообщения
943
Репутация
208
SharkyEXE
Никуда, ведь это не стол заказов :smile:

Писать лень, поэтому вот вторая ссылка с гугла:
https://github.com/xwxbug/autoit-cn/blob/master/UserInclude/Services.au3

Например вот так:
Код:
#Include <Services.au3>

Const $aStatuses[7][2] = [ _
	['$SERVICE_STOPPED', $SERVICE_STOPPED], _
	['$SERVICE_START_PENDING', $SERVICE_START_PENDING], _
	['$SERVICE_STOP_PENDING', $SERVICE_STOP_PENDING], _
	['$SERVICE_RUNNING', $SERVICE_RUNNING], _
	['$SERVICE_CONTINUE_PENDING', $SERVICE_CONTINUE_PENDING], _
	['$SERVICE_PAUSE_PENDING', $SERVICE_PAUSE_PENDING], _
	['$SERVICE_PAUSED', $SERVICE_PAUSED] ]

Local $aRes = _Service_QueryStatus('dhcp')
;
For $i = 0 To UBound($aStatuses) - 1 Step 1
	If BitAnd($aRes[1], $aStatuses[$i][1]) = $aStatuses[$i][1] Then
		MsgBox(64, '', $aStatuses[$i][0])
		Exit
	EndIf
Next
 
Верх