; Пример с поддержкой ком-строки.
; файл devcon.exe качаем по ссылке ниже и извлекаем SFX-архив.
; http://support.microsoft.com/kb/311272/ru
$sDevice = 'PCI\VEN_10EC&DEV_8168'
If $CmdLine[0] > 0 Then $sDevice = $CmdLine[1]
$sDevCMD = StringReplace($sDevice, '&', '^&')
$sDevREx = StringRegExpReplace($sDevice, '[][{}()*+?.\\^$|=<>#]', '\\$0')
$sStatus = ''
$hRun = Run(@ComSpec & ' /C devcon status @' & $sDevCMD & '*', '', @SW_HIDE, 2)
While 1
$sStatus &= StdoutRead($hRun)
If @error Then ExitLoop
Sleep(10)
WEnd
$sStatus = StringRegExpReplace($sStatus, '(?si)(?:.*' & $sDevREx & '.*?\r\n Name.*?\r\n )(.*?)(?:\.\r\n.*)', '\1')
If $sStatus = 'Device is disabled' Then
; подключаем
Run(@ComSpec & ' /C devcon enable ' & $sDevCMD & '*', '', @SW_HIDE)
MsgBox(0, 'Включено', 'Сетевое устройство включено', 3)
ElseIf $sStatus = 'Driver is running' Then
; отключаем
Run(@ComSpec & ' /C devcon disable ' & $sDevCMD & '*', '', @SW_HIDE)
MsgBox(0, 'Отключено', 'Сетевое устройство отключено', 3)
Else
MsgBox(0, 'Отсутствует', 'Устройство отсутствует', 3)
EndIf |