这个程序可以得到真正的硬盘序列号,哪位高手帮忙转成vb2005的啊?

kernel32 2009-11-10 12:00:00
这个程序是delphi编的。可以帮忙转成vb2005的吗?
或者给出引用这个dll的程序也可以啊!
我测试了,可以读出sata硬盘的真正序列号。
...全文
600 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
清晨曦月 元老 2009-11-25
  • 打赏
  • 举报
回复
手头倒是有VB6的,还没时间转过来。
kernel32 2009-11-15
  • 打赏
  • 举报
回复
我用vb.net 2005写了一个程序,包含原代码,windows2003,windowsxp下可以得到真正的硬盘物理序列号。请大家测试一下。我在IDE硬盘,SATA硬盘上都可以得到真正的序列号。大家测试一下公布一下结果:

硬盘型号:
序列号:
IDE/SATA?:
主板芯片组:
操作系统:

http://download.csdn.net/source/1817577
也是调用HardDiskInfo.dll的。
好像就这个真正可以的。如果大家测试都可以的话,以后可以使用这个来得到硬盘的物理序列号了。
hezhilin 2009-11-14
  • 打赏
  • 举报
回复
http://download.csdn.net/source/1815550

包括硬盘号,MAC地址,CPU信息等
Dim strDiskID As String
Dim hdd As HardDiskInfo.HardDiskInfo
hdd = HardDiskInfo.AtapiDevice.GetHddInfo(0)
strDiskID = hdd.SerialNumber
Return strDiskID

cBirdNO1NO1 2009-11-13
  • 打赏
  • 举报
回复
补充:使用List1.AddItem obj.PNPDeviceId(设备范例ID)获得的信息更全面。
cBirdNO1NO1 2009-11-13
  • 打赏
  • 举报
回复
VB6.0代码:
Set objS = GetObject("winmgmts:\\.\root\cimv2")
Set cols = objS.ExecQuery("SELECT * FROM Win32_DiskDrive")
On Error Resume Next
For Each obj In cols
List1.AddItem obj.model
Next
kernel32 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yjqmaster 的回复:]
如果要是插入一个U盘,号就变成U的了,关注下
[/Quote]
-------------
对,我测试了一下,我插入移动硬盘,他读到就是移动硬盘的型号,序列号!呵呵
kingm 2009-11-13
  • 打赏
  • 举报
回复
关注 !!
想飞的狼 2009-11-13
  • 打赏
  • 举报
回复
如果要是插入一个U盘,号就变成U的了,关注下
kernel32 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wuyq11 的回复:]
可使用deviceid.dll
参考
http://topic.csdn.net/u/20090910/21/17aa85ca-ba01-407b-80ae-79360641ca6d.html?seed=472690931&r=59712438
[/Quote]
-------------------
有没有vb.net的代码啊?
kernel32 2009-11-11
  • 打赏
  • 举报
回复
现在xp下,一般用户都是用admin吧!呵呵
vb6andvc6 2009-11-11
  • 打赏
  • 举报
回复
只能在才admin用户下才能得到hd sn吧?
lzsh0622 2009-11-10
  • 打赏
  • 举报
回复
楼主一定要用VB.NET的? 我有C#.2005的。
kernel32 2009-11-10
  • 打赏
  • 举报
回复
下载地址:
http://download.csdn.net/source/781835
kernel32 2009-11-10
  • 打赏
  • 举报
回复
而http://download.csdn.net/source/781835
下载的程序可以得到跟hdtune一样的序列号!
请教上面的程序怎么修改啊?
kernel32 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fairy4 的回复:]
汗,就这个!
'获取硬盘ID
    Function GetDiskID() As String
        Try
            Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")
            Dim strHardDiskID As String = ""
            For Each mo As ManagementObject In searcher.Get()
                strHardDiskID = mo.Properties("SerialNumber").Value.ToString
                strHardDiskID = strHardDiskID.Replace(" ", "")
                Exit For
            Next
            Return strHardDiskID
        Catch
            Return "unknow"
        End Try

    End Function
那个得到的也不是硬盘真正的ID
[/Quote]

------------------
好像这段程序得到的序列号有问题:
这个程序得到的是:
V61PEGXY
而HDtune得到的是:
6VP1GEYX
好像是相邻2个字母对调理。
fairy4 2009-11-10
  • 打赏
  • 举报
回复
汗,就这个!
'获取硬盘ID
Function GetDiskID() As String
Try
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")
Dim strHardDiskID As String = ""
For Each mo As ManagementObject In searcher.Get()
strHardDiskID = mo.Properties("SerialNumber").Value.ToString
strHardDiskID = strHardDiskID.Replace(" ", "")
Exit For
Next
Return strHardDiskID
Catch
Return "unknow"
End Try

End Function
那个得到的也不是硬盘真正的ID

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧