2017-12-06 12 views
0

programm 외부에서도 지정된 키를 누르면 콘솔 응용 프로그램을 실행할 수 있습니다. 예를 들어 programm는 백그라운드에서 실행 중입니다. 특정 단어를 입력하고 특정 키를 누르면 콘솔 응용 프로그램이 작업을 수행합니다. 지정된 키가 프로그램 외부로 누를 때까지 programm 실행

나는이 시작 :

static void Main(string[] args) 
    { 
     ConsoleKeyInfo keyinfo; 

     do 
     { 
      keyinfo = Console.ReadKey(); 
      //Do something 
     } 
     while (keyinfo.Key != ConsoleKey.F10); 
    }  

멈출하고가는 계속 될 때까지 누른 키 기다리는 그러나 여기에 문제가있다. 백그라운드에서 실행하고 항상 특정 키를 누르면 확인하고 싶습니다.

모든 솔루션?

+0

가 확인 :이 링크는 질문에 https://stackoverflow.com/questions/7196883/capture-media-keys-when-application-is-minimized/7730869#7730869 – SpiderCode

답변

-1

정적 클래스 HookManager에서 제공하는 이벤트를 사용할 수 있습니다.

당신은 단지 이벤트 중 하나 (포함 마우스 활동)을 추가해야합니다 KeyDown 이벤트에 대한

UserActivityHook actHook; 
void MainFormLoad(object sender, System.EventArgs e) 
{ 
    actHook= new UserActivityHook(); // crate an instance 

    // hang on events 

    actHook.OnMouseActivity+=new MouseEventHandler(MouseMoved); 
    actHook.KeyDown+=new KeyEventHandler(MyKeyDown); 
    actHook.KeyPress+=new KeyPressEventHandler(MyKeyPress); 
    actHook.KeyUp+=new KeyEventHandler(MyKeyUp); 
} 

예 : 콘솔 안에 뭔가를 입력 할 때

public void MouseMoved(object sender, KeyEventArgs e) 
     { 
      Keys key = e.KeyCode; 
      Console.WriteLine(key.ToString()); 
     } 

ReadKey 방법 만 실행합니다.

자세한 내용 : https://www.codeproject.com/Articles/7294/Processing-Global-Mouse-and-Keyboard-Hooks-in-C

+0

답변 수 있지만 , 여기에 답변의 핵심 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [리뷰에서] (리뷰/저품절 포스트/18169707) –

+0

로만 감사드립니다. –