这对我来说一直是一个难题,我不知道(即使在谷歌搜索之后)解决这个问题的最简单的方法是什么。
我有一个显示一些数据的外部程序(相干激光软件)。
有没有办法让我可以在 Windows 中访问任何当前打开的窗口中显示的任何文本的内容?可以在 powershell 中实现类似钩子的功能吗?
理想情况下,我希望读出并保存激光的当前设定值,如 GUI 所示。
答案1
答案2
自动热键是一款出色的批处理式工具,专为此类事情而设计。一般来说,步骤如下:
- 打开激光软件后,运行附带的Windows 间谍公用事业
- 将鼠标悬停在所需的文本字段(控件)上,并记下控件的 ClassNN
- 在你的 AHK 脚本中,使用控制获取文本将值存储为变量
- 例如,要获取窗口文本然后传递给 powershell 脚本:
香港中文大学:
ControlGetText, MyVar, MyClassNN, MyTitle
Run, powershell.exe "C:\MyScript.ps1 %MyVar%"
电源外壳:
$setvalue = $args[0]
# do stuff