Войти

Показать полную графическую версию : [решено] Определить серийный номер устройства с которого запущен скрипт.


Centrinar
09-04-2011, 22:44
Собственно как определить серийник если устройство может быть как и флешка так и HDD ну и т.д. Спасибо!

Iska
10-04-2011, 01:07
Что подразумевается под «серийный номер устройства»? WMI, класс «Win32_LogicalDisk», свойство «VolumeSerialNumber», оно же «DriveGetSerial ()»?!

Centrinar
10-04-2011, 02:08
DriveGetSeria

madmasles
10-04-2011, 05:35
Centrinar,
#include <WinAPIEx.au3>

$sProcess = 'notepad.exe'
Run('notepad.exe', '', @SW_MINIMIZE)
Sleep(1000)
$PID = ProcessExists($sProcess)
If $PID Then
$sPath = _WinAPI_GetProcessFileName($PID)
$sDrive = _WinAPI_PathStripToRoot($sPath)
$sSerial = DriveGetSerial($sDrive)
MsgBox(64, 'Info', 'Процесс: ' & $sProcess & @LF & 'Путь: ' & $sPath & @LF & 'Диск: ' & _
$sDrive & @LF & '№: Диска ' & $sDrive & ' = ' & $sSerial)
ProcessClose($sProcess)
EndIf

WinAPIEx.au3 (http://autoit-script.ru/index.php?topic=47.0)

AZJIO
10-04-2011, 10:27
Centrinar, MsgBox(0, 'Это что ли?', DriveGetSerial(StringLeft(@ScriptDir, 2)))

Iska
10-04-2011, 10:30
#include <file.au3>
AutoItSetOption("MustDeclareVars", 1)

Local $sDrive, $sDir, $sFName, $sExt
_PathSplit(@ScriptFullPath, $sDrive, $sDir, $sFName, $sExt)
ConsoleWrite(Hex(Number(DriveGetSerial($sDrive))) & @CRLF)


Local $oFSO = ObjCreate("Scripting.FileSystemObject")
ConsoleWrite(Hex($oFSO.GetDrive($oFSO.GetDriveName(@ScriptFullPath)).SerialNumber) & @CRLF)
$oFSO = 0


Local $oSWbemLocator = ObjCreate("WbemScripting.SWbemLocator")
ConsoleWrite($oSWbemLocator.ConnectServer(".", "root\cimv2").Get("Win32_LogicalDisk.DeviceID='" & $sDrive & "'").VolumeSerialNumber & @CRLF)
$oSWbemLocator = 0

AZJIO
10-04-2011, 13:35
Можно просто hex сделать MsgBox(0, 'Это что ли?', Hex(DriveGetSerial(StringLeft(@ScriptDir, 2))))

Centrinar
10-04-2011, 14:20
Для не знающих, что значит HEX

Iska
10-04-2011, 14:27
Перевод числа в строку в шестнадцатеричной системе счисления.
Hex

Returns a string representation of an integer or of a binary type converted to hexadecimal.




© OSzone.net 2001-2012