找回密码
 加入
搜索
查看: 1447|回复: 4

[AU3基础] 需要用AU3禁用原声卡(已解决)

[复制链接]
发表于 2018-1-29 15:02:04 | 显示全部楼层 |阅读模式
本帖最后由 你没有kii 于 2018-2-25 17:18 编辑

因插一个USB声卡耳机不能自动切换.导致耳机无声.需要手动禁用声卡太麻烦,
需要借用AU3禁用原声卡批量设置
看论坛这种代码.我复制.编译出错.请前大神们看看什么问题.
错误提示:
line2 (file "d:桌面\SetupApi.au3")
#include<localSecurityAuthority.au3>
error:error openig the file.

以下是复制的代码
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_UseUpx=n
#PRE_UseX64=n
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****

#include <SetupApi.au3>
; 枚举系统中的所有显示设备:
Local $hDevs, $tDevInfo, $aMouse[1][2] = [[0]]
$hDevs = _SetupDiGetClassDevs($DIGCF_PRESENT, "Display")
While _SetupDiEnumDeviceInfo($hDevs, $aMouse[0][0], $tDevInfo)
        $aMouse[0][0] += 1
        $sDescr = _SetupDiGetDeviceRegistryProperty($hDevs, $tDevInfo, $SPDRP_DEVICEDESC)
        $sName = _SetupDiGetDeviceRegistryProperty($hDevs, $tDevInfo, $SPDRP_FRIENDLYNAME)
        If $sName <> "" Then $sDescr = $sName
        Redim $aMouse[$aMouse[0][0] + 1][2]
        $aMouse[$aMouse[0][0]][0] = $sDescr        ; 显示设备描述信息
        $aMouse[$aMouse[0][0]][1] = _SetupDiGetDeviceInstanceID($hDevs, $tDevInfo) ; 设备范例ID
        Dislabe(_SetupDiGetDeviceInstanceID($hDevs, $tDevInfo)) ; 禁用所有显示设备
WEnd
; 枚举网卡只需把"Mouse"改为"Net",磁盘则对应DiskDrive,显卡对应Display。
_SetupDiDestroyDeviceInfoList($hDevs)
_Arraydisplay($aMouse)

Func Dislabe($sDeviceID)
        Local $hDevs, $tDevInfo
        _SetupDiCreateDeviceDevs($sDeviceID, $hDevs, $tDevInfo)
        $fResult = _SetupDiDisableDevice($hDevs, $tDevInfo, True) ; 禁用
        If $fResult = True Then
                        Msgbox(0, "", "显示适配器禁用成功。")
        Else
                        Msgbox(0, "", "错误码:" & @error)
        EndIf
        $fResult = _SetupDiDisableDevice($hDevs, $tDevInfo, False) ; 启用。
        _SetupDiDestroyDeviceInfoList($hDevs) ; 销毁设备信息集。
        ; _CM_Disable_DevNode / _CM_Enable_DevNode 同样可以实现对硬件的禁用启用操作。
        ; 但_CM_Enable_DevNode不能启用设备管理器或_SetupDiDisableDevice禁用过的硬件。
EndFunc

下的附件错了.已解决
发表于 2018-1-30 07:30:55 | 显示全部楼层
缺少setupapi.au3文件,这里下载:
http://www.autoit3.cn/forum.php? ... hlight=SetupApi.au3
把它放到include目录里
 楼主| 发表于 2018-1-30 10:04:06 | 显示全部楼层
回复 2# mybase89

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2018-1-30 20:15:45 | 显示全部楼层
麻烦楼主把帖子代码放到代码框中,把问题再描述的清楚一点。我就帮你看下怎么解决。
发表于 2018-1-31 17:06:26 | 显示全部楼层
回复 1# 你没有kii


    localSecurityAuthority.au3 这个文件并不一定会用到。可以打开setupapi.au3,注释掉以下这一行试试
#include <LocalSecurityAuthority.au3>
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 09:33 , Processed in 0.085908 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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