Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Можно попробовать посредством WMI:
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local $sTargetVolumeSerialNumber = "ABCDEFGH"
Local $bFound = False

Local $oSWbemServicesEx = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Local $cSWbemObjectSet = $oSWbemServicesEx.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", 0)
Local $oSWbemObjectEx


If $cSWbemObjectSet.Count > 0 Then
	For $oSWbemObjectEx In $cSWbemObjectSet
		ConsoleWrite("Drive: [" & $oSWbemObjectEx.Name & "]" & @TAB & "Serial number: [" & $oSWbemObjectEx.VolumeSerialNumber & "]" & @CRLF) ; Для отладки

		If $oSWbemObjectEx.VolumeSerialNumber = $sTargetVolumeSerialNumber Then
			ConsoleWrite("Found on drive [" & $oSWbemObjectEx.Name & "]" & @CRLF) ; Для отладки
			$bFound = True

			ExitLoop
		EndIf
	Next
EndIf

$oSWbemObjectEx   = 0
$cSWbemObjectSet  = 0
$oSWbemServicesEx = 0

If Not $bFound Then
	Exit(1)
EndIf

;
; Здесь Ваши операторы
;

Exit(0)
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:14, 24-11-2009 | #2