不懂你的意思,一下合一下分的,没空帮你整了~ 你需要独立思考了。
关于延时,你可以如下,在每次获取后休息200ms,不过,个人认为与“太快了”关系不大Local $Motherboard = _Motherboard()
_Sp()
FileWrite($sFile, '计算机名:' & @ComputerName & ',主板:' & $Motherboard & ',处理器:' & _CpuGet() & _Sp() & ',显卡:' & _VGAGet() & _Sp() & ',声卡:' & _Realinfo() & @CRLF)
Func _Sp()
Sleep(200)
Return ''
EndFunc ;==>_Sp 主要是主板有时会采集乱码其他的没有发现错误,不知道是什么原因
surongfu 发表于 2012-6-17 17:47 http://www.autoitx.com/images/common/back.gif
看了下那个 DIY_RegInfo.au3 ,他的主板信息采集是读取的流,那样很容易产生乱码。而且走了很多弯路,这里就不多说了。获取主板信息用这个WMI的,因为仅需主板信息,速度快得多。脚本也无需多余的 Sleep() 了,至于如何修改使用,只能靠你所想。#include 'DIY_RegInfo.au3'
Local $sFile = '硬件.ini'
IniWrite($sFile, '硬件信息', @ComputerName, '主板:' & _MbGet() & ',处理器:' & _CpuGet() & ',显卡:' & _VGAGet() & ',声卡:' & _Realinfo() & @CRLF)
;;;以下为读取
Local $sInfo = IniRead($sFile, '硬件信息', @ComputerName, '读取错误')
MsgBox(0, '', $sInfo)
Func _MbGet()
Local $objWMIService = ObjGet('winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2')
Local $colBoard = $objWMIService.ExecQuery('SELECT * FROM Win32_BaseBoard')
For $object In $colBoard
Local $mb = $object.Product
Next
Return $mb
EndFunc ;==>_MbGet 本帖最后由 surongfu 于 2012-6-18 11:37 编辑
A大能否帮我加入内存大小共几条啊,还有能把Local $sFile = '\硬件.ini'这句帮我写出ini吧我方便到不同环境时不用编译经过最后修改已经达到完美了,主板不会在错 查阅了很多关于调用ini的举例终于把这句Local $sFile = '硬件.ini'写出用ini配置了
ini内容如下
1=\\192.168.2.247\info$\硬件.ini
现在完整代码如下,哪位大侠在帮帮我加入内存大小共几条啊#include 'DIY_RegInfo.au3'
Local $sFile = IniRead(@ScriptDir & "\config.ini", "config", 1, 1)
IniWrite($sFile, '硬件信息', @ComputerName, '主板:' & _MbGet() & ',处理器:' & _CpuGet() & ',显卡:' & _VGAGet() & ',声卡:' & _Realinfo() & @CRLF)
;;;以下为读取
Local $sInfo = IniRead($sFile, '硬件信息', @ComputerName, '读取错误')
MsgBox(0, '', $sInfo)
Func _MbGet()
Local $objWMIService = ObjGet('winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2')
Local $colBoard = $objWMIService.ExecQuery('SELECT * FROM Win32_BaseBoard')
For $object In $colBoard
Local $mb = $object.Product
Next
Return $mb
EndFunc ;==>_MbGet 注册表在没打驱动前是不准的...打错了驱动的也不准 刚好搜到这个资料对我有用,回复一下
页:
1
[2]