2011-06-17 31 views
0

我想模擬鍵盤點擊並鍵入西里爾文中的某些消息。 我知道如何模擬鍵盤事件:如何用西里爾文字符發送鍵盤消息事件

SendKeyboardMessage(handle, WM_KEYDOWN, Convert.ToInt32(key), 0); 
SendKeyboardMessage(handle, WM_KEYUP, Convert.ToInt32(key), 0); 

但第三個參數爲「鑰匙」型並沒有西里爾字符。

那麼如何用西里爾字符發送鍵盤事件?

其重要信息發送到應用它的自我不是全球性的

回答

1

也許嘗試首先更改鍵盤佈局西里爾然後模擬鍵盤事件。我發現this code project顯示你如何改變佈局。

希望有幫助

0

同樣的功能也適用於Cyrilic。

你瞭解KEY和CHARACTER的區別嗎?鍵在你的鍵盤上,而字符是在屏幕上繪製的。 WM_KEYDOWN和WM_KEYUP不發送字符,它們發送密鑰。 Keys數據類型將鍵盤作爲硬件包含在內 - 無論您的本地語言是什麼含義,您始終擁有相同的102個左右鍵。這些密鑰將在稍後使用活動代碼頁轉換爲字符。因此,這就是爲什麼您可以使用Cyrilic的相同功能,只需將活動代碼頁切換到Cyrilic並將正確的鍵名稱發送,就好像它來自u.s.english鍵盤一樣。