标题:请教:vb编程如何检测win7、win8笔记本(非IDE接口)的硬盘序列号?
只看楼主
tglyq
Rank: 2
等 级:论坛游民
帖 子:6
专家分:14
注 册:2013-5-19
结帖率:0
已结贴  问题点数:5 回复次数:5 
请教:vb编程如何检测win7、win8笔记本(非IDE接口)的硬盘序列号?
本人从网上下载并使用了vb检测硬盘序列号的源码,在台式机(ide接口)都能出来结果,但在win7、win8笔记本上无法显示,请各位大侠能提供一段代码,能够在不同接口下都显示检测出硬盘序列号。本人想用于做注册码。谢谢!

[ 本帖最后由 tglyq 于 2013-5-19 17:40 编辑 ]
搜索更多相关主题的帖子: 检测 硬盘 序列号 注册码 接口 
2013-05-19 17:27
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:2 
没有win7、win8的实验环境,我笔记本肯定是ata接口的,没碰到过有硬盘接口的问题。我平时是用api解决的,代码如下:
'***************************************************************************
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
Dim a As String, sn As Long, i As Long
i = GetVolumeInformation("c:\", a, 0, sn, 0, 0, a, 0)
if i<>0 then msgbox "硬盘系列号为:" & hex(sn)     '用十六进制显示硬盘系列号
2013-05-19 18:46
tglyq
Rank: 2
等 级:论坛游民
帖 子:6
专家分:14
注 册:2013-5-19
得分:0 
按照你这样在笔记本的win7、win8下肯定不行。xp下可以。谢谢!
2013-05-19 19:15
tglyq
Rank: 2
等 级:论坛游民
帖 子:6
专家分:14
注 册:2013-5-19
得分:0 
回复 2楼 lowxiong
按照你这样在笔记本的win7、win8下肯定不行。xp下可以。谢谢!
2013-05-19 19:19
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:2 
确定不是权限问题么?
自己看看错误后的返回值吧。
2013-05-19 23:15
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:2 
lowxiong 2楼的代码。

测试,WIN7 有用。
VB6精减版(非安装)+WIN7 测试。

授人于鱼,不如授人于渔
早已停用QQ了
2013-05-20 11:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407494-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017140 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved