首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

100分求Win7系统读取硬盘号步骤。非常感谢!

2013-06-26 
100分求Win7系统读取硬盘号方法。非常感谢!!!我现在用的方法是:声明外部函数:Function boolean GetDiskSN(l

100分求Win7系统读取硬盘号方法。非常感谢!!!
我现在用的方法是:
声明外部函数:
Function boolean GetDiskSN(long index, ref string sn) library "NetDiskDLL.dll" Alias For "GetDiskSN;Ansi"
调用:
String ls_disksn
ls_disksn=space(100)
GetDiskSN(0,ref ls_disksn)
Return trim(ls_disksn)

在XP系统上没问题,但在Win7系统读取硬盘号不好用了。
急求热心朋友帮忙,非常感谢!可发邮箱hyf_0023@163.com. win7 硬盘号
[解决办法]
不知道你会不会c#,如果可以,你可以参照这个帖子,自己做个动态库,让pb调用,网上的方法都是过气的32位下的
http://www.cnblogs.com/cloudstep/archive/2010/01/28/1658770.html

这个是我做的net下制作pb可用的的动态库的帖子,如果你能掌握到这种程度的话,相信你以后做pb没什么可难倒你的。
http://www.cnblogs.com/eric_ibm/archive/2012/07/06/dll.html
[解决办法]
楼主看下这个函数可以否:
FUNCTION long GetVolumeInformationA(ref string ls_rootpath,ref string ls_volumnename, &
ulong lul_volumenamesize,ref ulong lul_volumeserialnumber, &
ref ulong lul_maxnumlength,ref ulong lul_fiesystemflags ,&
ref string ls_filesystemnamebuffer ,ulong lul_filesystemnamesize &
) library "KERNEL32.DLL"
[解决办法]

引用:
我现在用的方法是:
声明外部函数:
Function boolean GetDiskSN(long index, ref string sn) library "NetDiskDLL.dll" Alias For "GetDiskSN;Ansi"
调用:
String ls_disksn
ls_disksn=space(100)
GetDiskSN(0,ref ls_disksn)
Return trim(ls_disksn)

在XP系统上没问题,但在Win7系统读取硬盘号不好用了。
急求热心朋友帮忙,非常感谢!可发邮箱hyf_0023@163.com.


win7的话,你可以把NetDiskDLL.dll放在pb#.exe的目录下,再试试
如果用pb10的话,就放在pb10.exe的目录下

如果还不行,用管理员权限运行一下试试

热点排行