2014-12-11 2 views
0

C# 콘솔 명령 응용 프로그램에 Control + C를 입력하면 응용 프로그램이 감지 할 때 문제가있는 것처럼 보입니다. 그러나 이제는 도서관에있어 응용 프로그램을 닫고 집 에서처럼 응용 프로그램이 닫히는 것을 막지 못하고 있습니다.Control + C 일관성없는 동작

static void DetectControlAndCPressed() 
    { 
     Console.CancelKeyPress += (object sender, ConsoleCancelEventArgs e) => 
     { 
      var isCtrlC = e.SpecialKey == ConsoleSpecialKey.ControlC; 
      var isCtrlBreak = e.SpecialKey == ConsoleSpecialKey.ControlBreak; 
      if (isCtrlC) 
      { 
       e.Cancel = true; 
       validateUsersInput(null); 
      } 
     }; 

static string validateUsersInput(string originalinput) 
    { 
     if (originalinput == null) 
     { 
      originalinput = "Control + C"; 
      if (Globals.errorMessageDisplayed == false) 
      { 
       Globals.errorMessageDisplayed = true; 
       Console.WriteLine("ERROR: No Value Detected"); 

       return originalinput; 
      } 
      return originalinput; 
     } 
     else 
     { 
      string userinput = originalinput.ToLower(); 
      return userinput; 
     } 

나는 내 while 루프 전에 DetectContorlC 메소드를 호출하여 지속적으로 감지합니다. 다른 위치에있는 이유가 캡처 여부와 상관없이 바뀌는 이유는 무엇인지 모르겠습니다. 내가 생각할 수있는

유일한 것은 내가 정말 컴퓨터를 다시 부팅하고 동일한 경로에서 다시로드하고 그것을 해결 한 것으로 보인다

+0

를 사용하여 나에 의한 문제가

에서 응용 프로그램을 컴파일하는 어떤 디렉토리에 혼란스러워지고이라고 생각 도서관에서"? 다른 컴퓨터에서 동일한 실행 파일을 실행하고 있습니까? 또는 동일한 컴퓨터 (예 : 노트북)에서 동일한 실행 파일을 실행하고 있습니까? 아니면 같은 소스를 사용하고 있습니까?하지만 다른 컴퓨터에서 다시 컴파일합니까? – stakx

+0

@stakx 예. 도서관에서 Visual Studio 2013을 사용하고 집에서 동일한 정확한 소프트웨어를 사용하고 있습니다. Visual Studio 컴파일러를 통해 컴파일되며 라이브러리 및 My Home Computer는 모두 데스크톱 Windows입니다 – connormcwood

+0

Visual Studio 내에서 두 위치 모두에서 실행되고 있습니까 (예 : 한 위치의 명령 줄이 아니라 다른 위치의 VS). VS 내에서 동일한 구성 (Debug/Release/whatever)을 사용하고 있습니까? 동일한 플랫폼 (x86, 모든 CPU 등)? – adv12

답변

0

버그에게 혼란을 저장하거나 뭔가 내 마지막에서 일부 정보가 누락하고 있다는 것입니다 . 나는이 아마 내 펜 드라이브 내가 때 ""나는 집에서 오전 때 "당신이 뜻하는 일

관련 문제