Vb.net 如何以编程方式在windows中实现系统范围的文本替换?

Vb.net 如何以编程方式在windows中实现系统范围的文本替换?,vb.net,Vb.net,我有一个小的VB.Net应用程序,它试图用用户替换系统范围内的键入文本(hotstrings概念)。为了实现这一点,我在应用程序中部署了“ahk2exe”和“AutoHotkeySC.bin”,并执行了以下操作: 当用户分配新的“热字符串”时: 如果正在运行,则杀死“hotstring”exe脚本文件 将新的热字符串附加到脚本文件(如果不存在,则创建一个新的热字符串) 将已编辑/新脚本文件转换为exe(使用ahk2exe) 运行新转换的脚本exe (在那里的某个地方,我还检查是否已经分配了热字符

我有一个小的VB.Net应用程序,它试图用用户替换系统范围内的键入文本(hotstrings概念)。为了实现这一点,我在应用程序中部署了“ahk2exe”和“AutoHotkeySC.bin”,并执行了以下操作:

当用户分配新的“热字符串”时:

  • 如果正在运行,则杀死“hotstring”exe脚本文件
  • 将新的热字符串附加到脚本文件(如果不存在,则创建一个新的热字符串)
  • 将已编辑/新脚本文件转换为exe(使用ahk2exe)
  • 运行新转换的脚本exe (在那里的某个地方,我还检查是否已经分配了热字符串)
  • 然而,我并不完全满意这种方法,主要原因有以下两个:

  • 与应用程序一起部署的额外资源
  • 滞后:系统终止进程然后重新启动所需的时间。在我的快速计算机上,它至少需要5秒,在其他计算机上则需要更长的时间。这比用户分配hotstring、最小化/关闭窗口然后测试他/她的新hotstring所需的时间要长得多。当用户一开始这样做没有成功时,他们会认为这个过程失败了。所以这种方法对用户体验不是很好
  • 因此,我正在寻找一种不同的方法或实现。可能正在使用键盘挂钩?或者添加一个实现相同功能的.dll库。您知道哪些资源可能会有所帮助(免费或商业)?实现我期望的目标的最佳方式是什么


    非常感谢您的帮助。

    实现Autohotkey的功能将是一项非常重要的任务

    但我很确定AHK支持脚本的“自动加载”选项


    谷歌搜索“自动热键自动重新加载”出现了几页讨论这一概念。如果成功了,那么您所要做的就是更新脚本文件,AHK应该会自动重新加载脚本。

    实现Autohotkey的功能将是一项非常重要的任务

    但我很确定AHK支持脚本的“自动加载”选项

    谷歌搜索“自动热键自动重新加载”出现了几页讨论这一概念。如果成功了,你所要做的就是更新脚本文件,AHK应该会自动重新加载脚本