|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Определить серийный номер устройства с которого запущен скрипт. |
|
[решено] Определить серийный номер устройства с которого запущен скрипт.
|
Старожил Сообщения: 247 |
Собственно как определить серийник если устройство может быть как и флешка так и HDD ну и т.д. Спасибо!
|
|
Отправлено: 22:44, 09-04-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Что подразумевается под «серийный номер устройства»? WMI, класс «Win32_LogicalDisk», свойство «VolumeSerialNumber», оно же «DriveGetSerial ()»?!
|
Последний раз редактировалось Iska, 10-04-2011 в 01:15. Отправлено: 01:07, 10-04-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 247
|
DriveGetSeria
|
Отправлено: 02:08, 10-04-2011 | #3 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать 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 |
Отправлено: 05:35, 10-04-2011 | #4 |
Старожил Сообщения: 254
|
Профиль | Отправить PM | Цитировать Centrinar, MsgBox(0, 'Это что ли?', DriveGetSerial(StringLeft(@ScriptDir, 2)))
|
|
Отправлено: 10:27, 10-04-2011 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать #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 |
Отправлено: 10:30, 10-04-2011 | #6 |
Старожил Сообщения: 254
|
Профиль | Отправить PM | Цитировать Можно просто hex сделать MsgBox(0, 'Это что ли?', Hex(DriveGetSerial(StringLeft(@ScriptDir, 2))))
|
Отправлено: 13:35, 10-04-2011 | #7 |
Старожил Сообщения: 247
|
Для не знающих, что значит HEX
|
Отправлено: 14:20, 10-04-2011 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Перевод числа в строку в шестнадцатеричной системе счисления.
Цитата Function Reference:
|
|
Отправлено: 14:27, 10-04-2011 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Сменить серийный номер | Ser6720 | Хочу все знать | 7 | 21-12-2009 14:37 | |
[решено] Узнать имя пользователя, от которого запущен процесс | vitalisvv | AutoIt | 4 | 16-09-2009 01:16 | |
[решено] Получить имя диска, с которого запущен скрипт | frostyland | AutoIt | 2 | 18-08-2009 10:11 | |
Как определить серийный номер имеющегося дистрибутива Windows 98 SE (ru) | eastman75 | Microsoft Windows 95/98/Me (архив) | 4 | 31-08-2008 21:12 | |
Серийный номер | Butunin Klim | Microsoft Windows NT/2000/2003 | 1 | 02-05-2007 22:40 |
|