我有一个小应用程序,当用户使用快捷键时,它会在光标位置下显示一个列表框。
当用户双击列表框中的选项时,我想在所打开窗口的光标位置插入所选文本。
示例:用户打开了Microsoft Word。他/她使用快捷键在光标位置下方显示一个列表框。列表框包含一组文本。当用户双击一个选择时,在光标位置插入所选文本。
我尝试了以下内容:
Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
Text.Insert(Cursor.Position, ListBox1.SelectedItem)
End Sub
但这不起作用。
真诚地感谢任何帮助。
答案 0 :(得分:0)
最好的(最通用的)方法是欺骗应用程序以为您输入了一些文本。例如:
将您要“键入”的所有字符的按键窗口消息发送到目标窗口(例如,使用WM_KEYDOWN或WM_CHAR类型的消息。可能需要一些实验来找到最有效的方法。)
将文本复制到剪贴板并向应用程序发送单个ctrl + V按键消息。 (这将覆盖剪贴板,但可能无法在不支持该快捷键的应用程序中使用)
如果你知道specfic应用程序(例如MS Word),那么你可以使用特定于应用程序的自动化(OLE等)接口来插入文本。