分享时间 | 2024-09-27 13:42 |
最后更新 | 2024-10-02 19:35 |
修订版本 | 3 |
用户许可 | -未设置- |
Quicker版本 | 1.42.24 |
动作大小 | 19.8 KB |
使用该动作可启动EXE并隐藏其界面
此动作启动一个隐藏的进程,并获取其主窗口句柄。启动时会设置进程参数确保窗口隐藏,然后等待进程进入空闲状态。通过轮询方式获取窗口句柄,最大等待时间为10秒。若未获取到句柄,可能会出现错误。
本此修改的程序的核心逻辑,是持续等待并获取任务栏的新窗口.通常,任务栏上显示的窗口大多为主窗口。因此,第一步是扫描当前任务栏上的所有窗口并记录下来。接着,执行指定的exe文件,并持续监控新的窗口是否出现。一旦检测到新窗口,将获取该窗口的exe路径并判断它是否与指定的exe匹配。如果匹配成功,则返回该窗口的句柄。
相比于遍历系统中的所有顶层窗口,任务栏窗口的数量通常较少,减少了遍历范围,因此能够显著提升识别效率。然而,此方法也存在潜在的局限性:如果某个窗口仅以后台图标形式存在,并未显示在任务栏中,系统将无法捕捉到该窗口,从而导致识别失败。因此,对于那些未在任务栏显示的后台程序,可能需要引入额外的检测机制来确保全面性。
修订版本 | 更新时间 | 更新说明 |
---|---|---|
3 | 2024-10-02 19:35 | 完全查找窗口逻辑.现在逻辑改为:先遍历任务栏的窗口.打开exe后.持续监控任务栏的窗口是否有新增,然后判断新增窗口是否为此exe的窗口.然后得出最终窗口. |
2 | 2024-09-29 19:54 |
增加edge和chrome浏览器的识别
根据@原++反馈. edge会先打开插件后退出.导致轮询失败 这里单独对edge和chrome做标题搜索处理,其他exe的仍是轮询 |
1 | 2024-09-27 14:05 | 防止多次打开一个窗口造成之前的窗口无法显示 |