2010-01-15 4 views
1

작업을 수행하기 위해 Ctrl-F11 키 조합을 사용하는 작업 표시 줄의 알림 영역에 작은 타사 프로그램이 있습니다. 문제는 동일한 지름길을 사용하고 있지만 다른 하나는 내 지름길입니다. 기본적으로 내 창이 현재 활성화되어 있어도 사용자가 Ctrl-F11을 누르면 내 일을 할 수 없습니다. 나는 액티브 윈도우가 키 조합을 사용할 때 우선 순위를 가질 것이라고 생각했지만 분명히 그렇지 않다. 프로그램이 .NET C#으로 작성되었다고 생각하면 응용 프로그램이 활성화되어있을 때 어떻게 바로 가기 우선 순위를 얻을 수 있습니까?앱이 활성화되어있을 때 제 3 자 키 조합을 어떻게 처리합니까?

+0

응용 프로그램에서 Ctrl-F11 (예 : 메뉴 바로 가기로 지정)을 확인하는 방법은 무엇입니까? 트레이 응용 프로그램이 Windows 단축키로 Ctrl-F11을 등록했다고 가정합니다. – Nanook

+0

내 키에 대한 KeyDown 이벤트가 있으므로 특정 키를 눌렀는지 여부에 따라 조치를 취하고 있습니다. – user246392

+0

당신처럼, 나는 여전히 키 프레스 이벤트를받은 창문을 기대했을 것이다. – Nanook

답변

0

트레이 앱의 키 조합을 변경할 수 없으며 앱에서 키 조합을 사용해야하는 경우 C++이나 Delphi에서 Windows Hook DLL을 작성하고 Ctrl-F11의 모든 키 누름을 필터링하고 앱에 메시지를 보내는 것이 극단적 인 접근법 일 수 있습니다.

이것은 작은 작업이 아니며 코드 프로젝트 등에서 Windows 키보드 이벤트를 연결하는 프로젝트가 있습니다. 그 중 하나를 적용 할 수 있습니다. keypress를 받고 Window/Form이 활성화되면 SendMessage를 사용하여 창에 메시지를 보낼 수 있습니다.

이것은 마지막 복원 일 것입니다. 그것은 당신이 그것을 얼마나 필요로하는지에 달려 있습니다.

+0

C#에서 키보드 후크를 쉽게 수행 할 수 있습니다. 샘플은 http://blogs.msdn.com/toub/archive/2006/05/03/589423.aspx를 참조하십시오. – stuartd

관련 문제