2009-05-05 8 views

답변

7

Paul의 게시물은 두 개의 답변에 연결됩니다. 하나는 후크를 구현하는 방법이고 다른 하나는 RegisterHotKey를 호출하는 것입니다. Ctrl + S 바로 가기 키와 같은 간단한 기능을 위해 후크를 설치할 필요가 없으므로 대신 RegisterHotKey으로 전화하십시오.

2

또는 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()); 
+0

일을 또한 마우스 이벤트에 대한 좋은 깨끗한 솔루션을 위해. 감사! – AVIDeveloper

+4

도우미 란 무엇입니까? 어떻게 가져올 수 있습니까? –

+0

http://stackoverflow.com/questions/31953297/the-name-helper-does-not-exist-in-the-current-context – niklon

관련 문제