在Windows的任何位置插入文本。 (如AutoText / Intellisense)

时间:2011-08-14 10:24:53

标签: c# text autocomplete accessibility

我正在创建一个小型辅助功能(C#),它必须帮助用户在Windows中的任何位置插入一些文本。类似于Word中的自动图文集功能或Visual Studio中的智能感知功能。因此,无论是在Outlook中键入电子邮件,在OneNote中键入注释还是在Facebook上注释(使用任何浏览器)。

当用户键入已知单词或句子的前3个字母时,我想提供一些可用于完成单词/句子的弹出窗口。

我已经检测到用户正在键入的内容,并且该输入也与自动填充列表中的单词列表匹配。 但现在我需要知道,如何插入在光标位置找到的文本? (而用户在任何程序中......) 如果这篇新文本可以替代已经输入的内容,那么真正好的东西就是它。这样我可以让用户键入“nhw”,它将被“需要帮助”所取代。

非常感谢你的帮助, Tys

2 个答案:

答案 0 :(得分:3)

如果您不想重新发明轮子,可能需要查看PhraseExpress,其中this feature

适用于任何计划,可免费供个人使用。

它支持SendKey()VK_PacketWMChar作为文字插入方法。

答案 1 :(得分:2)

您可能想要使用SendKeys()。请参阅How to: Simulate Mouse and Keyboard Events in Code

要将“nhw”替换为“需要帮助”,您需要在输入“需要帮助”之前发送+({LEFT 3})need help with选择“nhw”(Shift +左/左/左)。