2011-05-05 105 views
0

我正在開發一個C#.net應用程序,允許用戶插入文本並讓應用程序自動鍵入它。它所做的是解析每個字符的文本並分別發送每個按鍵。keybd_event,特殊字符和鍵盤佈局?

但是,我想知道是否有辦法實際知道輸出是什麼。例如,

但是,我有點擔心特殊字符和鍵盤佈局。

僅供參考,我發現這個頁面的關鍵代碼:http://msdn.microsoft.com/en-us/library/ms927178.aspx

此頁面具有folloing線:現在

VK_OEM_5 = "\|" for US 
VK_OEM_102 = "<>" or "\|" on RT 102-key keyboard 

,如果我的文字conains一個「\」,我怎麼知道如果我必須發送VK_OEM_5或VK_OEM_102?

謝謝!

回答

0

爲什麼不直接發送WM_CHAR s到目標窗口?這適用於大多數程序(通常只有遊戲有問題)。這樣你完全避開了鍵盤佈局問題。

+0

謝謝。該應用程序是爲遊戲:)所以我想你的解決方案將無法正常工作。 – SaphuA 2011-05-05 11:05:50

+0

如果你想模擬文本輸入,你應該仍然嘗試'WM_CHAR'。它通常適用於文本輸入,但不適用於控制遊戲本身的按鍵。 – CodesInChaos 2011-05-05 11:17:54