2014-07-13 2 views
3

SendKeys.Send(string keys) 메서드로 System.Windows.Forms.Keys 열거 형을 보내야합니다.SendKeys.Send에 대한 인수로 System.Windows.Forms.Keys

Keys enum을이 방법과 호환되는 문자열로 변환하려면 어떻게해야합니까?

나는 switch을하고 키가이 같은 호환되지 않는 키 중 하나 인 경우 시도 할 수 있습니다 :

string toSend = ""; 
switch(keys) 
{ 
    case Keys.Backspace: 
      toSend = "{BS}" 
      break; 
    case Keys.F2: 
      toSend = "{F2}" 
      break; 
    // ... 
    default: 
      toSend = keys.ToString(); 
      break; 
} 
SendKeys.Send(toSend); 

그러나 그것을 할 수있는 더 좋은 방법이 있는지 나는 알고 싶어요.

도움 주셔서 감사합니다.

+1

SendKeys는 VB6 레거시입니다. Windows 키를 지원하지 않고 매우 다른 시간에 하크합니다. 그것은 1998 년에 존재하지 않았습니다. SendKeys처럼 당신이하고 싶은 것을하기 위해 SendInput()을 사용하십시오. Google 검색 결과가 아주 많습니다. –

+0

@HansPassant 좋아, 나는 Google에 더 많은 것을 시도 할 것이다 ... – Sorashi

답변

-2

다음과 같이 쓸 수 있습니다. SendKeys.Send ("{ENTER}"); SendKeys.Send ("E");

+0

미안하지만, 그것은 내가 무엇을 요구하고있는 것이 아니다. 다시 내 질문을 읽어주십시오. D. SendKeys 메서드를 사용하여 키를 보내는 방법을 알고 있지만 System.Windows.Forms.Keys를 SendKeys 메서드와 호환되는 문자열로 변환하는 좋은 방법이 필요합니다. 프로젝트에서 작업하고 있기 때문에 필요합니다. 사용자가 키를 눌러 Form1_KeyDown에서 처리 된 키를 설정합니다. 이 키는 저장되어 있으므로 SendKeys 메서드로 보내야합니다. – Sorashi

관련 문제