1

Честно говоря, я понятия не имею, что я делаю, и я действительно мог бы использовать некоторую помощь. Я пытаюсь включить и выключить "Слушать микрофон" с помощью клавиши "конец" и использовать ярлык на рабочем столе. Я сделал немного, но мне просто нужна помощь, чтобы закончить. Чтобы сделать процесс вручную, он состоит из

Панель управления> Оборудование и звук> Управление аудиоустройствами> Запись> Микрофон (только один в списке)> Свойства> Прослушать> Прослушать это устройство.

Я делаю этот процесс более 15 раз в день, и это сводит меня с ума. Это то, что я до сих пор

Запустите, mmsys.cpl

WinWait, Звук

Отправить, {CTRL DOWN} {TAB} {CTRL UP}

ControlSend, SysListView321, {вниз}

ControlClick, и свойства

Winwait Properties

winwait mircophone свойства

Буду очень признателен за любую помощь

2 ответа2

3

создайте файл Toggle.ini и заполните его именем устройства, которое нужно включать и выключать (флажок "Прослушать это устройство")

Я скомпилировал это в exe: отлично работает для моего случая ... ПК (Windows 10) не будет переходить в спящий режим или режим гибернации, а перезапуск запросов powercfg не работает, поэтому я сделал это.

#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

Надеюсь, что это может помочь кому-то ...

0
#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:=""

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .