[已解决]请教p版,用纯au3怎么更改计算机类型和磁盘控制器类型
本帖最后由 haijie1223 于 2011-6-2 13:45 编辑因为想写一个部署工具,所以要解决一个问题,就是“计算机”要改为“standardPC”,“磁盘控制器”要更改为“标准双通道IDE”。
因为有前辈的努力,用第三方面工具devcon可以做到。但是这样还需要fileinstall,用纯au3可否实现这种功能,请教一下p版。在此谢过!
如图:
修改类名,还是设备名?“磁盘控制器”在哪呢? 学习中,顶起 其实封装系统没有必要进行这样子的操作!
你可以看看我的那个开源的那个源码! devcon这个是用来卸载驱动程序用的,只要你将驱动卸载就可以了! 回复 2# pusofalse
p版你好 可能是我表达不好就是如图的样子,我说的磁盘控制器就是ide ata那一项,
把intel(r) ich7 famaily 和 intel(r)n10/ich7 family这两项更新驱动为“标准双通道ide”
还有下面的“计算机”项目里面的“acpi multiprocessor PC”更新驱动为“standard PC”
不知道我这样说p版能看明白我的意思么 学习学习,顶一个~~{:face (270):} 不必更新驱动,直接重命名就可以。
#include <SetupAPI.au3>
$fStatus = _RenameDeviceByDisplayName("ACPI Multiprocessor PC", "standardPC")
If ($fStatus) Then
MsgBox(48, "OK", "Done.")
Else
MsgBox(48, "Error", "Failed.")
EndIf
Func _RenameDeviceByDisplayName($sDisplayName, $sNewName)
Local $sDeviceId, $hDevs, $tDevInfo, $fStatus
$sDeviceID = _CM_Get_Device_ID_By_Name_Ex($sDisplayName)
If ($sDeviceID = "") Then Return 0
If Not _SetupDiCreateDeviceDevs($sDeviceID, $hDevs, $tDevInfo) Then
Return 0
EndIf
$fStatus = _SetupDiSetDeviceRegistryProperty( _
$hDevs, $tDevInfo, $CM_DRP_FRIENDLYNAME - 1, _
$sNewName, StringLen($sNewName) * 2, "str")
_SetupDiDestroyDeviceInfoList($hDevs)
Return $fStatus
EndFunc ;==>_RenameDeviceByDisplayName 回复 8# pusofalse
非常感谢p版,请教p版,这样直接重命名,和更新驱动得到的结果,效果一样么,对部署没有影响吧? 回复 9# haijie1223
没有区别,更新驱动时也是调用SetupDiSetDeviceRegistryProperty命名设备的。
页:
[1]