巴比伦词典和其他一些词典允许单击任何 Windows 程序中的任何单词并自动识别光标下的单词,并在已安装的词典中搜索该单词时立即打开词典窗口。另一方面,您可以打开字典,输入您的单词并按 Enter,结果将是相同的。
有一个 Delphi 表单,包含一个文本标签,例如带有单词“Automaton”。
我的问题是:
如何将一个单词从我的 Delphi 应用程序直接发送到字典窗口,就像您手动键入并按 Enter 一样?
最好的解决方案是通过 Windows 机制发送一些消息,但如果太复杂,还有另一种解决方案,所以第二个答案:正如我所描述的,我们需要模拟一个 [Ctrl+鼠标左键] 单击一个表单,其中这个词显示在一个表单上[我的 Delphi 应用程序屏幕上的一个可视标签],准确地说,在这个标签的某个中心像素上。
您能否就如何在 Delphi 中做一件事或另一件事给出建议?
** 编辑:AppActivate 的问题是:Babylon dict 有一个位于托盘中的守护进程部分。在任务管理器中,应该输入文本的真实窗口也被命名为“Babylon”。所以 AppActivate('Babylon') 试图将应用程序的非可视部分放在前面。
您对如何确定窗口句柄或应用程序的真实视觉部分有什么建议吗?在任务管理器中,我重复视觉和非视觉部分都命名为“巴比伦”。