找回密码
 加入
搜索
楼主: surongfu

[系统综合] 求助!关于文本输出(已解决)

  [复制链接]
发表于 2012-6-17 17:55:59 | 显示全部楼层
回复 14# surongfu


    不懂你的意思,一下合一下分的,没空帮你整了~ 你需要独立思考了。
关于延时,你可以如下,在每次获取后休息200ms,不过,个人认为与“太快了”关系不大
Local $Motherboard = _Motherboard()
_Sp()
FileWrite($sFile, '计算机名:' & @ComputerName & ',主板:' & $Motherboard[0] & ',处理器:' & _CpuGet() & _Sp() & ',显卡:' & _VGAGet() & _Sp() & ',声卡:' & _Realinfo() & @CRLF)


Func _Sp()
        Sleep(200)
        Return ''
EndFunc   ;==>_Sp
发表于 2012-6-17 18:24:42 | 显示全部楼层
主要是主板有时会采集乱码其他的没有发现错误,不知道是什么原因
surongfu 发表于 2012-6-17 17:47



    看了下那个 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
 楼主| 发表于 2012-6-17 22:33:25 | 显示全部楼层
本帖最后由 surongfu 于 2012-6-18 11:37 编辑

A大能否帮我加入内存大小共几条啊,还有能把Local $sFile = '\硬件.ini'  这句帮我写出ini吧我方便到不同环境时不用编译经过最后修改已经达到完美了,主板不会在错
 楼主| 发表于 2012-6-18 21:42:27 | 显示全部楼层
查阅了很多关于调用ini的举例终于把这句Local $sFile = '硬件.ini'  写出用ini配置了
ini内容如下
[config]
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
发表于 2012-6-24 01:31:07 | 显示全部楼层
注册表在没打驱动前是不准的...打错了驱动的也不准
发表于 2012-7-3 00:05:17 | 显示全部楼层
刚好搜到这个资料对我有用,回复一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-18 23:27 , Processed in 0.067466 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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