PDA

View Full Version : آموزش: بازیابی شماره سریال هارددیسک با Vsiual Basic 6



amir22448
چهارشنبه 21 تیر 1391, 18:32 عصر
با استفاده از این کد می تونین شماره سریال هارددیسکتون رو بازیابی کنید.:لبخند::لبخند::لبخند::لب خند::لبخند::لبخند:
کد:
'Win32 API needed
Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, lpFileSystemFlags As Long, _
ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

'Function to get the serial number
Public Function GetHDDSerial(ByVal drive As String) As String
Dim serial As Long
Dim str As String

'First get the serial number
serial = GetVolumeInformation(drive, vbNullString, 0, GetHDDSerial, ByVal 0&, ByVal 0&, vbNullString, 0)

'Convert the serial number to hexidecimal format
str = Hex$(serial)

'Add 0's (zeros) to the left
str = Right("00000000" & str, 8)

'Put a hyphen in the middle
str = Left$(str, 4) & "-" & Right$(str, 4)

'Return the value
GetHDDSerial = str
End Function

'Example usage
Label1.Caption = GetHDDSerial("C:\")

فرید نجفلو
پنج شنبه 22 تیر 1391, 01:54 صبح
سلام دوست عزیز
اولا عضویت شما در این سایت رو تبریک می گم
اما:
شما کد های مربوط به VB6 رو در تالار VB.NET مطرح کردید!

و اگر این تابع شما بدرستی کار کنه (که بنده شک دارم) در هر صورت چندان(و شاید هیچ) نتیجه کاربردی نداشته باشه
چون این سریالی که شما دریافت می کنید سریال خود هارد(اونی که توسط کارخانه سازنده و به صورت ثابت گنجانده می شه) نیست بلکه اون سریالی هست که توسط ویندوز به اون درایو داده شده و بالطبع در هر بار فرمت اون درایو عوض می شه!

اگر منظور شما بدست آوردن سریال خود هارد (سریال سخت افزاری) باشه خود مایکرو سافت در صفحه همین تابع شما به صراحت گفته که باید از WMI و Win32_PhysicalMedia (http://msdn.microsoft.com/en-us/library/windows/desktop/aa394346(v=vs.85).aspx) و پروپرتی SerialNumber استفاده کنید

رجوع کنید به:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364993(v=vs.85).aspx

amir22448
پنج شنبه 22 تیر 1391, 12:22 عصر
بله, مرسی ممنون.