老实说,我不知道自己在做什么,我真的需要一些帮助,我正在尝试使用“结束”键打开和关闭“收听麦克风”,并使用桌面快捷方式。我已经做了一些,但我只需要一些帮助来完成。要手动完成这个过程,它包括
控制面板 > 硬件和声音 > 管理音频设备 > 录音 > 麦克风(列表中只有一个)> 属性 > 监听 > 监听此设备。
我每天要重复这个过程 15 次以上,这让我快要疯了。这是我目前所得到的
运行,mmsys.cpl
Win等待,声音
发送,{CTRL DOWN}{TAB}{CTRL UP}
ControlSend,SysListView321,{向下}
ControlClick,属性
winwait 属性
winwait 麦克风属性
非常感谢您的帮助
答案1
创建一个文件 Toggle.ini 并在其中填充需要打开和关闭的设备名称(“监听此设备”复选框)
我已将其编译为一个 exe:非常适合我的情况...PC(Windows 10)无法进入睡眠或休眠状态,并且 powercfg requestoverride 不起作用,所以我制作了这个。
#SingleInstance
#NoTrayIcon
isExist:=WinExist("ahk_exe rundll32.exe ahk_class #32770")
Run, % "rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,recording",,, uPID
WinWait, % "ahk_pid"uPID,, 1
WinWait,Sound
Send {CTRL DOWN}{Down}{CTRL UP}
ControlGet, List, List,, SysListView321, % "ahk_pid"uPID
FileRead, OutputVar, toggle.ini
Loop, Parse, List, `n
{
IfInString, A_LoopField, %OutputVar%
{
ControlClick,&Properties
Send {CTRL DOWN}{Tab}{CTRL UP}
Send {Space}
Send {Enter}
break
}
else
{
ControlSend,SysListView321,{Down}
}
}
WinWait,Sound
Send {Esc}
ExitApp
希望它可以帮助别人...
答案2
#KeyHistory, 0
ListLines, Off
SetBatchLines, -1
End::
isExist:=WinExist("ahk_exe rundll32.exe ahk_class #32770")
Run, % "rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,recording",,, uPID
WinWait, % "ahk_pid"uPID,, 1
If Not ErrorLevel
{
SendInput, {Down}
ControlClick, % "Button3", % "ahk_pid"uPID,,, 3
WinWait, % "A"
PostMessage, 0x1330, 1,, % "SysTabControl321", % "ahk_pid"uPID
WinWait, % "A"
ControlGet, isEnabled, Checked,, % "Button1", % "ahk_pid"uPID
Control, % isEnabled ? "UnCheck":"Check",, % "Button1", % "ahk_pid"uPID
ControlClick, % "Button9", % "ahk_pid"uPID,,, 3
Process, Close, % uPID
}
IfEqual, ErrorLevel, % True, MsgBox, % 2621 (isExist ? 92:60)
, % isExist ? "Info:":"Oops:"
, % isExist ? "Close other window":"Something went wrong!"
, % isExist ? 1.5:3
KeyWait, % A_ThisHotkey
Exit, uPID:=isEnabled:=isExist:=""