2013-05-20 4 views
2

일부 특수 문자 SendKey.Send("[email protected]#$%^&*()_+|")을 입력하는 데 문제가 있습니다.SendKey가 일부 문자를 입력하지 않습니다

[email protected]#$%^&*()_+|을 입력하면 [email protected]#$*_| 만 입력됩니다.

이 방법이 있습니까? 처음으로 문자열을 ListBox에 수집 했으므로 실제 입력하기 전에이 문자를 바꿀 수있었습니다. 이 문제를 해결할 다른 방법이 있는지 궁금합니다.

private string textToPseudo(string text) 
{ 
    string temp = string.Empty; 

    foreach (char c in text) 
    { 
     if (c == ' ') 
      temp += " "; 
     else 
      temp += "{" + c + "}"; 
    } 
    return temp; 
} 
+0

주문을 변경하면 동일한 전세기가 여전히 진행되지 않습니다 ('()'사이에'! '를 입력하면'!'가 누락되는 것처럼)? –

+0

@Scott Chamberlain, 괄호는 여전히 나타나지 않지만 느낌표가 나타납니다. 나는'~'키가 대신 리턴을 보내는 것을 알아 차렸다. – HelpNeeder

답변

3

일부 문자가 SendKeys 매크로에 대한 특별한 의미가 있습니다 참고로

이 내가이 일을 끝낼 방법이다. 예 : %는 Alt 키, ^는 Ctrl 키, +는 Shift 키입니다.

+0

문서에서 : [SendKeys] (http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys%28VS.80%29.aspx) –

+0

유일한 옵션은 표지판을 바꾸는 것입니다 [SendKeys 클래스] (http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx)에서 해당 명령을 사용하여? – HelpNeeder

+0

반드시 필요한 것은 아닙니다. 각 기호를 중괄호로 묶은 기호로 바꿀 수 있습니다. 예 : '+'를 '{+}'로 바꾸십시오. – AFischbein