用lisp如何获取电脑的物理地址?
用lisp如何获取电脑的物理地址? 就是读取物理地址 本帖最后由 sfzyr 于 2021-8-6 03:15 编辑highflybird 发表于 2021-7-26 08:08
不需连接到网络,依旧可以获得。
我这边是win10系统,双网卡,无线连上时候,显示无线的MAC,有线的连上,就显示有线的,wifi和网线的都连接上网,都显示。若都不连上网络,就显示nil。还请老大看看,问题出在哪了。是不是需要打开某个服务(服务未启动?)
#<VLA-OBJECT ISWbemLocator 000002623ee42a80>
#<VLA-OBJECT ISWbemServicesEx 000002623ee423a0>
#<VLA-OBJECT ISWbemObjectSet 00000262bb8b6e90>
nil
_$
_$
#<VLA-OBJECT ISWbemLocator 000002625b53c3c0>
#<VLA-OBJECT ISWbemServicesEx 000002625b53a370>
#<VLA-OBJECT ISWbemObjectSet 0000026214ec4f70> B8:9A:2A:2D:96:97
nil
_$
#<VLA-OBJECT ISWbemLocator 0000026224079240>
#<VLA-OBJECT ISWbemServicesEx 00000262240785e0>
#<VLA-OBJECT ISWbemObjectSet 000002629cfda6b0> F8:75:A4:FD:3B:09B8:9A:2A:2D:96:97
nil
_$ sfzyr 发表于 2021-7-5 00:46
http://club.excelhome.net/forum.php?mod=viewthread&tid=1403424&page=1&_dsign=c7707872,是不是这些 ...
方法一: 在64位系统中采用
(vlax-create-object "Aec32BitAppServer.AecScriptControl.1"))
替换
(vlax-create-object "ScriptControl")
方法二:
采用如下代码:
(setq wmi (vlax-create-object "WbemScripting.SWbemLocator"))
(setq svr (vlax-invoke wmi 'ConnectServer))
(setq net (vlax-invoke svr 'InstancesOf "Win32_NetworkAdapterConfiguration"))
(vlax-for n net
(if(/= (vlax-get n 'IPEnabled) 0)
(princ (vlax-get n 'MacAddress))
)
)
不知所云。你要知道物理地址干嘛?就是知道了WINDOWS也不会让你向地址内写东西。 (setq *wsc (vlax-create-object "ScriptControl"))
(vlax-put *wsc "language" "vbs")
(setq str "Set mc=GetObject(\"Winmgmts:\").InstancesOf(\"Win32_NetworkAdapterConfiguration\")")
(vlax-invoke *wsc 'ExecuteStatement str)
(setq objNet (vla-eval *wsc "mc"))
(princ "\n物理地址是:")
(vlax-for obj objNet
(if(/= (vlax-get obj 'IPEnabled) 0)
(princ (vlax-get obj 'MacAddress))
)
)
(vlax-release-object *wsc)
(princ) 不错啊 不错,学习 楼上的程序是获取网卡物理地址 此物理地址非内存物理地址 highflybird 发表于 2011-1-5 18:21
我用的是Autocad2021,64位的,你这个“scriptcontrol”控件对象,不能创建啊,还修改下吗? highflybird 发表于 2011-1-5 18:21
是不是64位系统导致的问题,有无好的办法改改程序,谢谢。
https://blog.csdn.net/WinsenJiansbomber/article/details/41376999?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242
页:
[1]
2