我正在编写一个简单的C#程序,当我按下“ctrl + g”时,我希望我的程序在任何程序中自动删除光标左侧的字符(例如:chrome浏览器,word文档,powerpoint文档等) ...)。 我已经为“ctrl + g”安装了一个全局钩子,它工作正常。我正在使用我在codeproject中找到的键盘模拟器:http://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library 我的问题是,当我像这样模拟退格时:
KeyboardSimulator.KeyPress(Keys.Back);
删除整个单词,而不仅仅删除光标左侧的字符。例如,如果我在包含以下文本行的Microsoft Word文档中: “新年快乐” 如果我的光标位于“年份”的末尾并按ctrl + g,我的程序将删除“year”并将光标放在“new”的右侧,而不是仅删除“year”的字母“r”。 我也尝试过其他模拟器,结果相同。有没有人有解决方案或知道我做错了什么? 感谢。
答案 0 :(得分:7)
显然,Ctrl + Backspace通常意味着删除Windows中的整个单词。当您按Ctrl + g,并且您的钩子模拟后空格键时,程序会看到Ctrl + Backspace,因为Ctrl已关闭。