AU3实现自动设置RealtekHD声卡前置音频接口

该博客介绍了如何使用AutoIt(AU3)脚本来自动配置Realtek HD Audio Manager的前置音频接口。作者展示了如何通过调用CONTROL.EXE打开控制面板项,然后利用WinWait和ControlClick函数进行窗口交互,包括切换标签页和点击特定按钮。脚本已在WinXP SP3环境下测试成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

;Coder:Bugsong
;2011-3-16 15:30
;用于自动设置RealtekHD声卡前置音频接口
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_outfile=HD Autoit.exe
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <process.au3>
Run("CONTROL.EXE RTSndMgr.CPL")
WinWait("Realtek HD Audio Manager","OK")
ControlClick("Realtek HD Audio Manager","OK",66068,"left",1,160,10)
ControlClick("Realtek HD Audio Manager","2CH 喇叭","TRzBmpButton1")
WinWait("接头设置","取消")
ControlClick("接头设置","取消","TCheckBox1")
ControlClick("接头设置","取消","TCheckBox2")
ControlClick("接头设置","取消","TRzBmpButton2")
WinClose("Realtek HD Audio Manager","2CH 喇叭")

 

在AU3中,打开控制面板选项是通过调用系统自带程序来打开控制面板项,在AHK时代是可以直接通过shell命令行方式打开的,在AU3中,Run函数只允许运行EXE,BAT,COM 或 PIF了。

函数原型:

Run ( "程序" [, "工作目录" [, 显示标志[, 可选标志]]] )

鉴于此,我们可以调用windows系统自带的 CONTROL.EXE 来访问控制面板

RTSndMgr.CPL是 Realtek HD Audio Manager的具体控制面板项

 

winwait函数用于等待制定窗口出现,这个函数原型在au3的help文件中有描述

 

 ControlClick("Realtek HD Audio Manager","OK",66068,"left",1,160,10)

 

这可以说是本段代码中比较难处理的部分了

根据ControlClick函数的函数原型

 

ControlClick ( "title", "text", controlID [, button [, clicks [, x [, y ]]]] )

 

这个应该是不难实现,但是 Realtek HD Audio Manager的控制面板项是一个没有明确窗口特征的窗口,在使用au3info工具反复对比之后才找到可以自动切换标签页的方法。

函数原型中,controlID是可选参数,在这个切换中,这个参数就必须使用,从过控件ID来明确窗口控件的类——TRzPageControl

 

使用窗口类名称直接确定空间位置以用来向窗口发送鼠标点击操作时脚本不执行,只能使用ID来确定,不知道是个体原因还是这个类只能通过ID来确定需要操作的控件的位置……

 

本脚本于2011-3-16 15:30分

在WinXP SP3+Au3+DELL 230S测试通过

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值