KeyDown 및 KeyPress 이벤트를 통해 키 입력을 모니터링하는 C# 응용 프로그램이 있습니다. 특히, (휴대용 장치에서) VolumeMute 키 스트로크가 특별한 처리를하는 것을 지켜 봅니다. 한 가지 문제로 잘 작동합니다. Windows는 VolumeMute 키 입력을 가로 채고 시스템 볼륨을 음소거하는 것처럼 보입니다. 키 입력은 신호 처리 (e.Handled = true) 되어도 시스템 볼륨을 음소거하기 때문에 Windows에서 키 입력을 가로 채기 전에 내 앱이 처리한다고 생각합니다. BTW, 동일한 코드는 내가 잡는 다른 키 입력 (예 : Backspace, ect)에서 완벽하게 작동합니다.VolumeMute KeyPress - 처리 후 이벤트를 취소 할 수 없습니다.
Windows에서이 볼륨 음소거를 중지하는 방법이 있습니까?
시스템 : WINXP SP3는 닷넷 4 클라이언트 프로파일은 Windows는 코드 토글 같은
bool keyHandled = false;
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (keyHandled)
{
e.Handled = true;
}
}
// =====================================
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
keyHandled = false;
switch (e.KeyCode)
{
case Keys.VolumeMute:
DoSpecialProcessing();
keyHandled = true;
break;
default:
break;
}
e.Handled = keyHandled;
}
무엇이 요점입니까? 사용자가 다른 앱으로 전환하고 음소거, 다시 전환합니다. 또는 트레이 아이콘을 사용하십시오. –
Hans, 버튼을 누를 때 키 스트로크를 보내는 리모콘을 용도 변경하려고합니다. 하나의 버튼은 VolumeMute 키 입력을 보냅니다. 이 버튼을 누르면 다른 기능 (음소거가 아닌)을 수행하려고합니다. –