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

[AU3基础] 求。禁用,启用声卡AU3源码

 火... [复制链接]
 楼主| 发表于 2012-2-20 23:06:11 | 显示全部楼层
给你的只是得到设备名称的码,如果要禁用启用的话我理解要用startservice()和stopservice()
奈何。。
这个是服务的吧
发表于 2012-2-20 23:18:04 | 显示全部楼层
本帖最后由 lixiaolong 于 2012-2-20 23:30 编辑

回复 12# 49666684

启用,禁用系统中的所有音频设备.
#include <SetupApi.au3>

Local $hDevs, $tDevInfo, $aSound[1][2] = [[0]]

$hDevs = _SetupDiGetClassDevs($DIGCF_PRESENT, "media")

While _SetupDiEnumDeviceInfo($hDevs, $aSound[0][0], $tDevInfo)
        $aSound[0][0] += 1
        $sDescr = _SetupDiGetDeviceRegistryProperty($hDevs, $tDevInfo, $SPDRP_DEVICEDESC)
        $sName = _SetupDiGetDeviceRegistryProperty($hDevs, $tDevInfo, $SPDRP_FRIENDLYNAME)
        If $sName <> "" Then $sDescr = $sName
        ReDim $aSound[$aSound[0][0] + 1][2]
        $aSound[$aSound[0][0]][0] = $sDescr 
        $aSound[$aSound[0][0]][1] = _SetupDiGetDeviceInstanceID($hDevs, $tDevInfo) 
        
        $fResult = _SetupDiDisableDevice($hDevs, $tDevInfo, True) ; 禁用
;~         $fResult = _SetupDiDisableDevice($hDevs, $tDevInfo, False) ; 启用
WEnd


可以精简.
#include <SetupApi.au3>

Local $hDevs, $tDevInfo, $aSound[1][2] = [[0]]

$hDevs = _SetupDiGetClassDevs($DIGCF_PRESENT, "media")

While _SetupDiEnumDeviceInfo($hDevs, $aSound[0][0], $tDevInfo)
        $aSound[0][0] += 1

;~         $fResult = _SetupDiDisableDevice($hDevs, $tDevInfo, True) ; 禁用
        $fResult = _SetupDiDisableDevice($hDevs, $tDevInfo, False) ; 启用
WEnd

评分

参与人数 1金钱 +30 收起 理由
afan + 30

查看全部评分

 楼主| 发表于 2012-2-20 23:22:13 | 显示全部楼层
本帖最后由 49666684 于 2012-2-21 00:25 编辑
#include <SetupApi.au3>
; 枚举系统中的所有鼠标设备:
Local $hDevs, $tDevInfo, $aMouse[1][2] = [[0]]
$hDevs = _SetupDiGetClassDevs($DIGCF_PRESENT, "Mouse")
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
WEnd
; 枚举网卡只需把"Mouse"改为"Net",磁盘则对应DiskDrive,显卡对应Display。
_SetupDiDestroyDeviceInfoList($hDevs)
_Arraydisplay($aMouse)
P版的。帖子。。问题就是没有声卡的
 楼主| 发表于 2012-2-21 01:45:49 | 显示全部楼层
lixiaolong

第一段代码是对的。但第二段貌似没效果哦!
 楼主| 发表于 2012-2-21 01:46:22 | 显示全部楼层
我错了。。。。不明白为什么。刚才测试出问题 。现在对了。。。扫瑞 。谢谢大大
发表于 2012-2-21 02:17:41 | 显示全部楼层
回复 20# 49666684

我刚才使用mpc播放器边看边试没成功,关闭播放器后成功.
你是不是也使用播放器了?
 楼主| 发表于 2012-2-21 17:56:53 | 显示全部楼层
是的。。。。
发表于 2012-2-21 19:48:39 | 显示全部楼层
回复 22# 49666684

如果目的是不让系统发出声音的话,直接停止Windows Audio服务比较简单.
这样使用播放器也没事的.
发表于 2012-2-23 02:42:34 | 显示全部楼层
代码收下......
发表于 2012-2-23 08:35:15 | 显示全部楼层
好东西,留个记号。。。
发表于 2012-2-23 11:10:45 | 显示全部楼层
牛啊,。。。。。。
发表于 2012-2-24 10:52:57 | 显示全部楼层
感谢7楼~
发表于 2012-2-26 17:23:43 | 显示全部楼层
收下7楼的代码
发表于 2012-3-10 20:58:29 | 显示全部楼层
谢谢共享,支持楼主
谢谢共享,支持楼主
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-17 02:45 , Processed in 0.080617 second(s), 17 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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