Foxtable(狐表)用户栏目专家坐堂 → XP系统跑CMD


  共有2008人关注过本帖树形打印复制链接

主题:XP系统跑CMD

帅哥哟,离线,有人找我吗?
455631117
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:56 积分:531 威望:0 精华:0 注册:2019/7/16 14:29:00
XP系统跑CMD  发帖心情 Post By:2020/9/19 11:02:00 [只看该作者]

你好,我要获取XP系统的生产日期,调用CMD,但是在XP系统上运行会卡死,代码如下
Dim p As new Process()
Dim strrst As String
Dim scrq As String 
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False '关闭Shell的使用
p.StartInfo.RedirectStandardInput =  True '重定向标准输入
p.StartInfo.RedirectStandardOutput = True '重定向标准输出
p.StartInfo.RedirectStandardError =  True '重定向错误输出
p.StartInfo.CreateNoWindow = True '设置不显示窗口
p.Start()
p.StandardInput.WriteLine("wmic bios get releasedate")
p.StandardInput.WriteLine("exit")
strrst = p.StandardOutput.ReadToEnd()
strrst = strrst.replace(" ","").replace(vbcr,"").Replace(vblf,"") '去掉了空格,换行和回车
Dim ml As String = "releasedate"
strrst = strrst.Remove(0,strrst.LastIndexOf(ml))   '删除从第一个到ml最后一次出现的位置
strrst = strrst.Remove(0,ml.Length * 2)
scrq = strrst.SubString(0,4) & "年" & strrst.SubString(4,2) & "月" & strrst.SubString(6,2) & "日"   '得到生产日期



还有获取电脑MAC地址的:wmic nic where netconnectionid!=NULL get macaddress
在XP系统上直接在CMD中可以运行,用狐表调用就不行,是什么问题


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105926 积分:538693 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/19 11:16:00 [只看该作者]

XP系统不支持这种用法

获取mac可以试试:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=59092

 回到顶部
帅哥哟,离线,有人找我吗?
455631117
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:56 积分:531 威望:0 精华:0 注册:2019/7/16 14:29:00
  发帖心情 Post By:2020/9/21 8:55:00 [只看该作者]

老师,我这种获取电脑生产日期的方法不能在XP系统上运行吗?请问有没有别的方法可以在XP上运行获取生产日期的

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105926 积分:538693 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/21 9:12:00 [只看该作者]

不能在XP系统上运行。其它方法百度了一下没找到

 回到顶部
帅哥哟,离线,有人找我吗?
455631117
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:56 积分:531 威望:0 精华:0 注册:2019/7/16 14:29:00
  发帖心情 Post By:2020/9/24 16:05:00 [只看该作者]

你好老师,我后来又看了一下,这个CMD命令可以在XP上运行,但是狐表不能获取返回值,后来我用了这个方法:

 

shell("cmd.exe /c wmic bios get releasedate >> d:\scrq.txt")
shell("cmd.exe /c wmic nic where netconnectionid!=NULL get macaddress >> d:\MAC.txt")

 

 

把CMD命令执行后的内容保存为txt文件,然后读取TXT文件的内容,问题就解决了,希望可以帮到更多的朋友


 回到顶部