C++을 사용하여 win32에서 시스템 볼륨 가속기에 어떤 키가 사용되는지 감지 할 수 있습니까? 예를 들어, 사용자가 fn + 키를 누르면 (이 또한 시스템 볼륨을 변경하는 키 조합이기도 함)이 이벤트와 응답을 감지하려고합니다.C++ win32는 시스템 볼륨 가속기를 얻습니다.
0
A
답변
2
이이 컴퓨터의 BIOS에서 처리를 참조하십시오. 키 스트로크, VK_VOLUME_DOWN 또는 VK_VOLUME_UP 가상 키를 생성합니다. 해당 WM_KEYDOWN 메시지 DefWindowProc 처리 WM_APPCOMMAND, APPCOMMAND_VOLUME_UP/DOWN을 생성합니다. 해당 메시지의 DefWindowProc 처리는 볼륨을 조정합니다.
0
일반적으로 가능하지 않다고 생각합니다. fn-keys는 일반적으로 BIOS-SMM-ACPI가 처리하며 사용자 프로그램에 액세스 할 수 없습니다.
아마도 표준 멀티미디어 볼륨 업 키로 변환 되었다면 얻을 수는 있지만 그걸 내기는 어렵습니다.
0
+0
OP는 시스템 볼륨을 변경하는 방법이 아니라 시스템 볼륨 변경을 초래하는 키 누르기를 감지하는 방법을 묻습니다. –
관련 문제
- 1. 시스템 소리가 볼륨 레벨을 무시합니다.
- 2. 플래시에서 시스템 볼륨 감소를 비활성화하는 방법
- 3. Windows 7에서 현재 시스템 볼륨 가져 오기
- 4. Python에서 OSX 시스템 오디오 볼륨 조정
- 5. / proc/kcore에서 시스템 콜 테이블의 시스템 호출 주소를 얻습니다.
- 6. C#의 마스터 볼륨 변경하기
- 7. C++의 SDL 음소거 볼륨
- 8. C++에서 구의 볼륨 계산
- 9. Android 브라우저에서 자이로 스코프/가속기를 사용 하시겠습니까?
- 10. 리눅스 기반 시스템에서 c/C++를 사용하여 이더넷 이름, 클래스, 설명 벤더, 서브 시스템 등을 얻습니다.
- 11. AudioServicesPlaySystem 사운드 볼륨 컨트롤
- 12. Silverlight Mac 마이크 볼륨
- 13. MPVolumeView를 사용한 후에 시스템 볼륨 오버레이를 다시 켜려면 어떻게합니까?
- 14. 기본 시스템 볼륨 버튼 기능을 전역으로 덮어 쓰기
- 15. Vista/7에서 볼륨 변경 알림 받기 (C++)
- 16. 볼륨 락커와 UISlider를 동기화하십시오.
- 17. 볼륨 레벨을 얻으십시오. C# netcf (Windows Mobile)
- 18. C# - 백업을위한 볼륨 섀도 복사본 대체?
- 19. C++의 Windows VSS (볼륨 섀도 복사본)
- 20. 볼륨 기본 설정 - 볼륨 키 차단
- 21. 안드로이드의 전화 볼륨 대신 멀티미디어 볼륨
- 22. 구현 키보드 볼륨 조절 버튼 - 루프 내에서 볼륨 설정은
- 23. iPod 볼륨 레벨이 앱 볼륨 레벨에 영향을 미침
- 24. iOS 4.0 볼륨 페이드
- 25. 제어 Windows 사운드 볼륨
- 26. C# : ProxyPass 이후 Client-IP를 얻습니다.
- 27. C# 런타임에 Dictionary를 정의하는 형식을 얻습니다.
- 28. C에서 마이크 볼륨 설정
- 29. PCM 샘플의 볼륨 시각화
- 30. C#의 플러그인이있는 시스템
사실, 해당 메시지의'DefWindowProc' 처리는'WM_APPCOMMAND'를 탐색기에 전달하고 탐색기는 볼륨을 조정합니다. 앱의 볼륨 버튼을 오버라이드하고 싶다면'WM_APPCOMMAND' 메시지에 응답하십시오. –
@ 레이몬드 - 너 너무 빨라? 최상위 창에서 WM_APPCOMMAND의 DefWindowProc 처리는 셸 후크 afaik를 호출합니다. WM_KEYDOWN 처리가 WM_APPCOMMAND를 Explorer에 곧바로 보내는 경우에는 응답 할 수 없습니다. –
예,'WM_APPCOMMAND'는 쉘 훅을 통해 Explorer로갑니다. 요점은 익스플로러가'DefWindowProc'가 아닌 볼륨을 변경한다는 것입니다. 구별은이 질문에 중요하지 않지만 비슷한 질문에 영향을줍니다. –