明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4311|回复: 14

这是获取网卡mac的程序,为什么运行会有错误提示

  [复制链接]
发表于 2004-4-15 15:10:00 | 显示全部楼层 |阅读模式
(defun c:pcmac (/ ll path fib nn nr )
(SETQ ll (findfile "C:\\WINNT"))
(IF (= ll "C:\\WINNT")
(setq path "C:\\WINNT\\pcmac.txt")
(setq path "C:\\WINDOWS\\pcmac.txt")
)
(if (= (findfile path) nil)
(vl-cmdf "_.Shell" (strcat "ipconfig /all >" path))
(progn
(vl-file-delete path)
(vl-cmdf "_.Shell" (strcat "ipconfig /all >" path))
)
) (setq fib (open path "R")
nn t
)
(while nn
(setq nr (read-line fib))
(if (and (/= nr nil)
(wcmatch nr "*Physical Address*")
)
(setq mac (substr nr 38 17)
nn nil)
)
(if (= nr nil)
(setq nn nil)
)
);end while

(close fib)
(vl-file-delete path)
) 不知为何运行后会有error: bad argument type: FILE nil的提示。 如果一行一行试运行的话程序完全是正确的。 大家看看吧
发表于 2020-10-4 20:19:19 | 显示全部楼层
highflybir 发表于 2013-1-13 11:37
http://blogs.msdn.com/b/wmi/archive/2009/09/16/wmi-remote-query-for-win32-product-class-results-in ...

这个链接打不开  我也遇到类似问题了
发表于 2017-12-1 11:36:50 | 显示全部楼层

不连网的情况,如何获取mac地址呢?
发表于 2004-4-15 15:38:00 | 显示全部楼层
程序在"C:\\WINNT\\pcmac.txt"這個檔案還沒有出現前 就開始執行 (setq FIB (open PATH "r") 當然會有error: bad argument type: FILE nil的提示。
 楼主| 发表于 2004-4-15 17:13:00 | 显示全部楼层
不明白你的意思,我在(setq FIB (open PATH "r")之前就已经有生成C:\\WINNT\\pcmac.txt这个文件了呀. (if (= (findfile path) nil)
(vl-cmdf "_.Shell" (strcat "ipconfig /all >" path))
(progn
(vl-file-delete path)
(vl-cmdf "_.Shell" (strcat "ipconfig /all >" path))
)
) (setq fib (open path "R")
nn t
) 那位帮我改改这个程序吧
发表于 2004-4-15 19:57:00 | 显示全部楼层
你只是去做了,但生没有生成你并没有确定,就是说生成这样一个文件需要时间,你可能在这个时间内就执行了以下的程序...


你可以这样


(while (not (findfile path))


         (command "_.delay" 100)


)
 楼主| 发表于 2004-4-16 11:37:00 | 显示全部楼层
多谢指点。程序已经成功了
发表于 2012-7-11 08:02:08 | 显示全部楼层
我遇过同一区网, MAC号相同的, 查了半天网路老是不通.
发表于 2013-1-4 11:06:49 | 显示全部楼层
w7  如何搞
发表于 2013-1-4 11:23:00 | 显示全部楼层
本帖最后由 highflybir 于 2013-1-4 11:23 编辑
Nico 发表于 2013-1-4 11:06
w7  如何搞

  1. (defun C:MAC (/ WMI SVR MAC S STR)
  2.   (vl-load-com)
  3.   (setq WMI (vlax-create-object "WbemScripting.SWbemLocator"))
  4.   (setq SVR (vlax-invoke WMI 'ConnectServer))
  5.   (setq str "Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
  6.   (setq MAC (vlax-invoke SVR 'ExecQuery str))
  7.   (vlax-for i MAC
  8.     (setq S (cons (vlax-get i 'MACAddress) S))
  9.   )
  10.   (vlax-release-object MAC)
  11.   (vlax-release-object SVR)
  12.   (vlax-release-object WMI)
  13.   (princ s)
  14.   (princ)
  15. )
发表于 2013-1-5 07:27:22 | 显示全部楼层
highflybir 发表于 2013-1-4 11:23

非常感谢
发表于 2013-1-13 11:16:42 | 显示全部楼层
highflybir 发表于 2013-1-4 11:23

错误: SWbemServicesEx: Generic failure   出现这个 怎么办?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-6 02:42 , Processed in 0.195164 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表