2016-07-18 1 views
3

전체 프로그램이 아닌 특정 프로그램의 볼륨을 제어하고 싶습니다.Autohotkey - 특정 프로그램의 볼륨 만 조정하는 방법?

볼륨 믹서의 Windows Media Player 볼륨 만 제어하는 ​​코드가있는 THIS 스레드가 있습니다.

이 전체 스크립트입니다

SetTitleMatchMode, 3 
SndVolWasStarted = 0 

;Turn off SndVol after 1 second 
Loop { 
    Sleep, 10 
    If SndVolWasStarted = 1 
    { 
    GetKeyState, StateF1, F1 
    GetKeyState, StateF2, F2 
    If (StateF1 = "D" or StateF2 = "D") 
    SndVolStartTime = %A_Now% 
     Else { 
     If ((A_Now - SndVolStartTime > 1) and WinExist("ahk_class #32770")) 
     WinClose, ahk_class #32770 
     } 
    IfWinNotExist, ahk_class #32770 
    SndVolWasStarted = 0 
    } 
} 

;Hotkey to decrease volume 
F1:: 
IfWinExist, Windows Media Player 
{ 
    IfWinNotExist, ahk_class #32770 
    { 
    Run, "%A_WinDir%\System32\SndVol.exe" -r 88888888 
    WinWait, ahk_class #32770 
    SndVolWasStarted = 1 
    } 
    ToolbarWindowNumber = 322 
    msctls_trackbarNumber = 321 
    Loop { 
    ControlGetText, ControlName, ToolbarWindow%ToolbarWindowNumber%, ahk_class #32770 
    If ControlName = Mute for Windows Media Player 
    { 
     ControlSend, msctls_trackbar%msctls_trackbarNumber%, {Down}, ahk_class #32770 ; Use {Down 2} to change sound level faster 
     Break 
    } Else { 
     If ToolbarWindowNumber < 328 
     { 
     ToolbarWindowNumber := ToolbarWindowNumber + 2 
     msctls_trackbarNumber := msctls_trackbarNumber + 1 
     } Else { 
     If ToolbarWindowNumber = 328 
     { 
      ToolbarWindowNumber =
      msctls_trackbarNumber := msctls_trackbarNumber + 1 
     } Else { 
      If ToolbarWindowNumber < 3242 
      { 
      ToolbarWindowNumber := ToolbarWindowNumber + 2 
      msctls_trackbarNumber := msctls_trackbarNumber + 1 
      } Else { 
      MsgBox, 16, AutoHotkey, ERROR: Application's volume control was not found!`nThis could occur if the Volume Mixer has more than 20 opened applications 
      Break 
      } 
     } 
     } 
    } 
    } 
} 
Return 

;Hotkey to increase volume 
F2:: 
IfWinExist, Windows Media Player 
{ 
    IfWinNotExist, ahk_class #32770 
    { 
    Run, "%A_WinDir%\System32\SndVol.exe" -r 88888888 
    WinWait, ahk_class #32770 
    SndVolWasStarted = 1 
    } 
    ToolbarWindowNumber = 322 
    msctls_trackbarNumber = 321 
    Loop { 
    ControlGetText, ControlName, ToolbarWindow%ToolbarWindowNumber%, ahk_class #32770 
    If ControlName = Mute for Windows Media Player 
    { 
     ControlSend, msctls_trackbar%msctls_trackbarNumber%, {Up}, ahk_class #32770 ; Use {Up 2} to change sound level faster 
     Break 
    } Else { 
     If ToolbarWindowNumber < 328 
     { 
     ToolbarWindowNumber := ToolbarWindowNumber + 2 
     msctls_trackbarNumber := msctls_trackbarNumber + 1 
     } Else { 
     If ToolbarWindowNumber = 328 
     { 
      ToolbarWindowNumber =
      msctls_trackbarNumber := msctls_trackbarNumber + 1 
     } Else { 
      If ToolbarWindowNumber < 3242 
      { 
      ToolbarWindowNumber := ToolbarWindowNumber + 2 
      msctls_trackbarNumber := msctls_trackbarNumber + 1 
      } Else { 
      MsgBox, 16, AutoHotkey, ERROR: Application's volume control was not found!`nThis could occur if the Volume Mixer has more than 20 opened applications 
      Break 
      } 
     } 
     } 
    } 
    } 
} 
Return 

나는 그것을 시도하고 윈도우 미디어 플레이어와 함께 작동하지만 난 그게 구글 크롬에서 작동 할 수 없습니다.

코드 일부를 IfWinExist, Windows Media Player으로 변경하고 IfWinExist, Google Chrome으로 변경했지만 Chrome의 볼륨을 조정하지 않았습니다. 내가 교체 모든 IfWinExist, Windows Media Player
IfWinExist ahk_class Chrome_WidgetWin_1

  • 로 교체 창 (10) 64 비트

  • +0

    답변이 도움이 되었습니까? 그렇다면 답변을 수락하십시오. – vasili111

    답변

    1
    1. 를 실행 해요

      모든 If ControlName = Mute for Windows Media Player
      if (ControlName ~= "Mute for.*- Google Chrome")

    당신이 AutoHotkey를 윈도우 스파이 유틸리티를 사용할 수 있습니다 값을 찾으십시오. 작업 표시 줄 트레이 알림 영역에서 AHK 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "Window Spy"를 선택하십시오.


    또는 멋진 nircmd 유틸리티 사용

    ^#Up::run nircmd changeappvolume focused +0.1 
    ^#Down::run nircmd changeappvolume focused -0.1 
    ^#Numpad0::run nircmd muteappvolume focused 2 
    

    을 Ctrl 키 + 승리 + = 볼륨 최대 활성 응용 프로그램까지
    Ctrl 키 + 승리 + = 볼륨 아래로 활성 응용 프로그램 다운
    Ctrl 키 + 승리 + 숫자 패드 0 활성 응용 프로그램

    가 특정 응용 프로그램을 제어하는 ​​응용 프로그램의 EXE 이름으로 focused를 교체 = 음소거/음소거 해제, 예를 들어, chrome.exe, vlc.exe

    +0

    이 스크립트를 다음으로 변경했습니다. hastebin.com/ewizedidov.cmake 그러면이 메시지가 나타납니다. i.snag.gy/SznsOt.jpg – chico

    +0

    Chrome이 아무 것도 재생하지 않아서 목록에 없기 때문입니다. 'msgbox' 라인을 삭제하면됩니다. – wOxxOm

    +0

    Chrome 및 Windows Media Player는 작동하지만 VLC 등 다른 사용자는 어떨까요? 'IfWinExist'옆에 어떤 코드를 넣을까요? – chico

    관련 문제