2016-01-28 8 views
0

Я пытаюсь сделать чат-спамер в игре только для практики с программированием gui на C#, но я столкнулся с проблемой при попытке отправить несколько слов. Я посылаю их как нажатия клавиш, потому что я не знаю другого способа, которым мог бы. Всякий раз, когда я сталкиваюсь с пробелом в массиве char, я получаю высказывание ArgumentExeception, «Ключевое слово» недействительно ».SendKeys не отправит пространство

это код, я использую для отправки ключей:

foreach (char j in text) 
    SendKeys.Send("{" + j + "}"); 

ответ

3

{ 's вокруг него ваши проблемы. SendKeys отправит текст:

SendKeys.Send("hello"); 
SendKeys.Send(" "); 

The {'s are special. Они позволяют отправлять специальные символы, такие как F1, F2, Page Up, Page Down. См. Эту ссылку для полного списка. Ответ заключается в том, что вам не нужны «{», если вы не отправляете один из этих специальных ключей.

https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys(v=vs.110).aspx

Кроме того, если вы отправляете полную строку текста, вам не нужно, чтобы отправить его посимвольно. Вы можете просто сделать это, если вы действительно не пытаетесь имитировать ключевые штрихи с ним:

SendKeys.Send(text);