가능한 중복 :이
Global keyboard capture in C# application글로벌 키보드 후크 (C#을)
사람이 나 설정 내 응용 프로그램에 대한 글로벌 키보드 후크 도와 드릴까요?
난 단축키를 설정하고자하는 실제 형태에 집중하지 않을 때 사용될 수있다 (예 Ctrl 키 + S 등).
가능한 중복 :이
Global keyboard capture in C# application글로벌 키보드 후크 (C#을)
사람이 나 설정 내 응용 프로그램에 대한 글로벌 키보드 후크 도와 드릴까요?
난 단축키를 설정하고자하는 실제 형태에 집중하지 않을 때 사용될 수있다 (예 Ctrl 키 + S 등).
Paul의 게시물은 두 개의 답변에 연결됩니다. 하나는 후크를 구현하는 방법이고 다른 하나는 RegisterHotKey를 호출하는 것입니다. Ctrl + S 바로 가기 키와 같은 간단한 기능을 위해 후크를 설치할 필요가 없으므로 대신 RegisterHotKey으로 전화하십시오.
또는 C#의 MessageFilter를 사용할 수 있습니다. 응용 프로그램 프로세스의 모든 컨트롤/양식에 포커스가있는 동안 작동해야합니다.
샘플 코드 :
class KeyboardMessageFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == ((int)Helper.WindowsMessages.WM_KEYDOWN))
{
switch ((int)m.WParam)
{
case (int)Keys.Escape:
// Do Something
return true;
case (int)Keys.Right:
// Do Something
return true;
case (int)Keys.Left:
// Do Something
return true;
}
}
return false;
}
}
그리고 단순히 응용 프로그램에 새 MessageFilter를 추가보다 :
Application.AddMessageFilter(new KeyboardMessageFilter());
일을 또한 마우스 이벤트에 대한 좋은 깨끗한 솔루션을 위해. 감사! – AVIDeveloper
도우미 란 무엇입니까? 어떻게 가져올 수 있습니까? –
http://stackoverflow.com/questions/31953297/the-name-helper-does-not-exist-in-the-current-context – niklon