2008-12-04 155 views
9

如何將鍵盤輸入消息發送到當前選擇的窗口或先前選擇的窗口?C#發送鍵盤輸入

我有一個程序,我用它來鍵入一些字符,這些字符在我的鍵盤上不存在,我希望它能直接發送輸入,而不是我必須一直複製和粘貼。

編輯:

這個的應用是打字德國變音。我是美國人,在德國工作。我正在使用美式鍵盤,並不時輸入變音符號/歐元符號/尖銳的S.目前我有一個簡單的WinForms應用程序,帶有一個文本框和一些帶有額外字符的按鈕。我在文本框中輸入內容,然後按按鈕將文本添加到文本框中。然後我複製文本並粘貼到任何地方。如果我只需點擊其中一個按鈕,它就會發送文本輸入到我正在輸入/正在輸入的地方,這將會很棒。目前的方案運作良好,但我可以做得更好。

回答

10

SendKeys.Send將幫助你。

+0

我實際上設法今天這個來實現。花了我很長時間。 – smack0007 2011-06-08 17:51:57

3

看看System.Windows.Forms.SendKeys.Send(string)。這允許按鍵被髮送到當前活動的應用程序。

更新:剛剛發現這個MSDN上的論壇:MSDN Forum

1

如果它不存在,你的鍵盤上,你可能只需添加一個按鈕,發送該字符的代碼鍵的參照對象要追加這個人物。給我們一個你想要的例子,我們可能會向你展示一些代碼。代碼

短的例子:

myField.Text += "®"; //This is a char that I do not have on my keyboard