2015-08-08 78 views
0

我正在嘗試使用鍵盤事件嚮應用程序發送字符。我想按Alt鍵然後釋放它。我正在使用下面的代碼來做到這一點。ALT鍵盤鍵盤事件不適用於所有鍵盤佈局?

const int VK_ALT = 0x12; 
const uint KEYEVENTF_EXTENDEDKEY = 0x0001; 
const uint KEYEVENTF_KEYUP = 0x0002; 

keybd_event((byte)VK_ALT, 0, KEYEVENTF_EXTENDEDKEY | 0, 0); 
keybd_event((byte)VK_ALT, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); 

但alt鍵是工作僅在English US layout keyboard而不是在其他鍵盤。我不知道這是爲什麼我happening.How可以使獨立的鍵盤佈局的

回答

0

它可能有一些做是0

爲「ALT」的第二個參數(掃描碼)硬件'Make Code'是56或0x38,'Break Code'是184或0xB8。我已經看到應用程序使用其中的任何一個來關閉/關閉。我的鍵盤似乎爲兩者發送0x38。

另請注意,0x0001的EXTENDEDKEY表示您正在使用「右ALT」,而0x0000則是「左ALT」(以防萬一您的應用程序出現差異)。

+0

感謝您的回覆。左ALT鍵做到了這一點。但我不知道它是如何產生影響的 – user2316771