我正在尝试使用键盘事件将字符发送到应用程序。我想按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
中有效,而在其他键盘中则无效。我不知道为什么会这样。我怎么能让它独立于键盘布局
答案 0 :(得分:0)
它可能与您的第二个参数(扫描码)为0有关。
对于' ALT'硬件'制作代码'是56或0x38,' Break Code'是184或0xB8。我已经看到应用程序使用其中任何一个进行按键/向上键。我的键盘似乎都发送了0x38。
另请注意,0x0001的EXTENDEDKEY表示您正在使用"右ALT"而0x0000用于"左ALT" (以防万一您的申请有所不同。)