找回密码
 加入
搜索
查看: 4783|回复: 9

[系统综合] 请教如何用AU3获得电脑的OEM品牌

  [复制链接]
发表于 2011-5-7 20:58:55 | 显示全部楼层 |阅读模式
本帖最后由 feelsky 于 2011-5-9 07:05 编辑

本人想法是软件能自动对应不同品牌电脑在我的电脑属性中添加OEM信息。
oemlogo.bmp图片和oeminfo.ini信息

请教在AU3脚本中能获得相关参数实现上面的功能吗?

请看七楼
发表于 2011-5-7 21:08:58 | 显示全部楼层
不太明白,你的意思是获取到电脑的品牌吗,那样的话,获取主板相关信息就可以知道了,然后对应的进行添加OEM信息
发表于 2011-5-7 21:15:07 | 显示全部楼层
回复 2# wsfda

估计楼主要的不是这个,是控制面板系统里那些玩意,如果是都在system32文件夹里面
发表于 2011-5-7 22:06:34 | 显示全部楼层
本帖最后由 502762378 于 2011-5-7 22:07 编辑

这个应该可以,给你个思路
首先WMI获得主板型号
你那边要定义什么主板什么 品牌,不通品牌图片也要准备
开机判断主板,复制相应LOG到C:\WINDOWS\system32\oemlogo.bmp,
写入oeminfo.ini文件
manufacturer=对应的品牌
 楼主| 发表于 2011-5-8 05:54:17 | 显示全部楼层
不太明白,你的意思是获取到电脑的品牌吗,那样的话,获取主板相关信息就可以知道了,然后对应的进行添加OE ...
wsfda 发表于 2011-5-7 21:08


就是这个意思,问题就是不知道如何用AU3获取主板相关信息
发表于 2011-5-8 07:12:29 | 显示全部楼层
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_BaseBoard", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
        For $objItem In $colItems        
                MsgBox(1,"主板是?",$objItem.Product)
        Next
 楼主| 发表于 2011-5-8 10:52:11 | 显示全部楼层
Global $info
$strComputer = "."
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")

$xh = ''
$colChassis = $objWMIService.ExecQuery ("Select * from Win32_SystemEnclosure")
For $objChassis In $colChassis
        For $objItem In $objChassis.ChassisTypes
                Switch $objItem
                        Case 1
                                $xh = "Other"
                        Case 2
                                $xh = "Unknown"
                        Case 3
                                $xh = "台式机";"Desktop"
                        Case 4
                                $xh = "Low Profile Desktop"
                        Case 5
                                $xh = "Pizza Box"
                        Case 6
                                $xh = "Mini Tower"
                        Case 7
                                $xh = "Tower"
                        Case 8
                                $xh = "Portable"
                        Case 9
                                $xh = "Laptop"
                        Case 10
                                $xh = "笔记本";"Notebook"
                        Case 11
                                $xh = "Handheld"
                        Case 12
                                $xh = "Docking Station"
                        Case 13
                                $xh = "All-in-One"
                        Case 14
                                $xh = "Sub-Notebook"
                        Case 15
                                $xh = "Space Saving"
                        Case 16
                                $xh = "Lunch Box"
                        Case 17
                                $xh = "Main System Chassis"
                        Case 18
                                $xh = "Expansion Chassis"
                        Case 19
                                $xh = "Sub-Chassis"
                        Case 20
                                $xh = "Bus Expansion Chassis"
                        Case 21
                                $xh = "Peripheral Chassis"
                        Case 22
                                $xh = "Storage Chassis"
                        Case 23
                                $xh = "Rack Mount Chassis"
                        Case 24
                                $xh = "Sealed-Case PC"
                        Case Else
                                $xh = "Unknown"
                EndSwitch
;                MsgBox(0, 0, "Chassis Type: " & $xh)
        Next
Next
$info&="计算机类型:"&$xh&@CRLF
$mb=''
$colBoard = $objWMIService.ExecQuery("SELECT * FROM Win32_BaseBoard")
For $object In $colBoard
        $mb = $object.Product
Next
$info&="主板型号:"&$mb&@CRLF

$computerModel = $objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct")
For $objItem in $computerModel
        $computerModel2 = $objItem.vendor & $objItem.name & "(" & $objItem.IdentifyingNumber & ")"
Next
$info&="电脑型号:"&$computerModel2&@CRLF
MsgBox(0,'检测结果:',$info)


上面代码为PCBAR超版提供信息。可以获取计算机类型,主板型号,电脑型号
另外请教可不可以获取主板是INTEL的还是AMD的??
发表于 2011-5-8 12:01:23 | 显示全部楼层
回复 7# feelsky

可以,通过WMI查询
在本站搜“硬件信息”,就会出来一大堆
 楼主| 发表于 2011-5-9 07:05:10 | 显示全部楼层
谢谢各位,ok
发表于 2011-5-10 18:11:32 | 显示全部楼层
不错,7楼得代码可以收藏了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 23:42 , Processed in 0.079257 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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