SendInput()在某些应用程序中被误解释

时间:2012-06-15 11:19:48

标签: c# sendinput

我的c#项目将一个注入的密钥组合发送到前台窗口。在记事本中,Firefox,IE9一切正常,但Adobe Illustrator CS5似乎误解了发送的组合:例如CTRL + G变为CTRL + SHIFT + WHEEL_DOWN,因此不是对所选对象进行分组,而是将页面向左滚动。 (一个低级别的键盘钩子也证实我正在发送正确的组合。)

快速测试表明,这种疯狂方法存在,因此CTRL + F显示为CTRL + SHIFT + WHEEL_UP。

系统是Windows 7 64位,所以起初我怀疑有32比64比特的问题,但32和64比特IE9都能正常工作。

1 个答案:

答案 0 :(得分:0)

我不能肯定地说,但这听起来很像我的应用程序的用户所指出的问题(这就是我在这里找到线索的方式!)。

对于我的应用程序,事实证明我需要在Control keydown事件和C(对于复制,在此示例中)keydown之间设置一些延迟。当作为单一组合同时发送时,结果非常难以预测。

http://www.strokesplus.com/forum/topic.asp?whichpage=1&TOPIC_ID=477#1024