您的位置:程序门 -> vb ->



关于vb中用netbios取得mac地址的一个问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于vb中用netbios取得mac地址的一个问题[已结贴,结贴人:peckerlu]
发表于:2007-01-17 09:35:32 楼主
各位好:
        现在网上流行的取得网卡mac地址的方法基本上都是使用netbios.dll,具体代码可参考:http://blog.csdn.net/qq1854520/archive/2006/10/31/1359331.aspx。我也试过整个方法了,但发现在使用fat32文件系统的计算机中运行都没什么问题(windows   2000   pro/xp/2003   server都试过了),只要使用ntfs的系统(windows   2000   serve/2003   server测试过)取得的mac都是“00   00   00   00”。跟踪程序中各变量的情况,发现主要问题出在这里:
copymemory   myastat,   myncb.ncb_buffer,   len(myastat)
myncb.ncb_buffer中其实都有值了,len(myastat)也可以取得myastat的长度,但是copymemory时myastat中确没有复制的值。
        这个问题研究好长时间了,一直没有找到原因。不知道哪位可以帮忙看看是什么原因。这里先谢过了!
发表于:2007-01-17 10:14:411楼 得分:20
建议用wmi
发表于:2007-01-17 11:19:492楼 得分:0
多谢happy_sea的提示,已经找到方法了,下面是我用的代码,各位参考一下。

option   explicit

private   sub   wmisounddeviceinfo()

dim   wmiobjset   as   swbemobjectset
dim   obj   as   swbemobject

set   wmiobjset   =   getobject( "winmgmts:{impersonationlevel=impersonate} ").   _
instancesof( "win32_networkadapterconfiguration ")
on   local   error   resume   next

for   each   obj   in   wmiobjset
text1.text   =   obj.macaddress
next

end   sub


private   sub   command1_click()

call   wmisounddeviceinfo

end   sub
发表于:2007-01-17 11:22:303楼 得分:0
刚才漏掉了,我参考了这篇文章的内容:
http://www.qqgb.com/program/vb/vbsystemctrl/program_106500.html
发表于:2007-01-17 11:28:524楼 得分:0
mac是可以取得了,不过最初的疑问还是没有解决呀。
api的方法为什么在ntfs格式的系统中无法取得mac呢?


快速检索

最新资讯
热门点击