Как узнать серийный номер диска.
Автор: James Limm
При форматировании диска, операционная система
записывает на него серийный номер. Нет гарантии,
что этот номер окажется уникальным, однако,
трудно себе представить, что для 32 битного
значения найдётся дубликат :) Этот номер
частенько используется программистами для
защиты программы от копирования.
Объявления
Скопируйте следующий код в секцию объявлений
проекта.
Private Declare Function GetVolumeInformation Lib _
"kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength _
As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
Код
Function GetSerialNumber(strDrive As String) As Long
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
Res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
GetSerialNumber = SerialNum
End Function
Использование
Пример использования вышеприведённой функции:
Call MsgBox GetSerialNumber("C:")
После выполнения этой функции должно появиться
диалоговое окошко с серийным номером диска C.
|