找回密码
 加入
搜索
查看: 775|回复: 5

[AU3基础] 【已解决】如何隐藏主窗口和弹出的子窗口并完成工作?

[复制链接]
发表于 2022-6-7 17:49:10 | 显示全部楼层 |阅读模式
本帖最后由 chishingchan 于 2022-6-10 07:57 编辑

注册机:


运行环境:Windows 7

我的脚本运行效果:


我的脚本:
#RequireAdmin
If FileExists(@ScriptDir & "\signtool.exe") Then
        If FileExists(@ScriptDir & "\keygen.exe") Then
                Local $iPID = Run(@ScriptDir & "\keygen.exe", @ScriptDir, @SW_HIDE)
                ProcessWait($iPID)
                ControlClick("注册机", "获取序列号", "TButton2", "left")
                ControlClick("注册机", "生成密钥文件", "TButton1", "left")
                WinWait("信息","确定")
                WinClose("信息","确定")
                ProcessClose($iPID)
        EndIf
EndIf

备注:
此注册机按 生成密钥文件 按钮后弹出子窗口,也必须回应此子窗口才能生成 vbsedit_1.lic。

提问:
如何使之 完全隐藏运行 并生成 vbsedit_1.lic?谢谢!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2022-6-7 17:53:01 | 显示全部楼层
上面代码中,在第5行下面添加一行,并不能完成工作!脚本暂停了!
WinSetState("注册机", "获取序列号", @SW_HIDE)
发表于 2022-6-7 23:44:40 | 显示全部楼层
本帖最后由 itzyx 于 2022-6-8 00:09 编辑
chishingchan 发表于 2022-6-7 17:53
上面代码中,在第5行下面添加一行,并不能完成工作!脚本暂停了!

那是因为文本隐藏了,没办法识别,可以前面添加个
Opt('WinDetectHiddenText', 1)
但是试了一下,用Winwait的话,主窗口还是会一闪而过,没办法完全隐藏。



评分

参与人数 1金钱 +50 收起 理由
chishingchan + 50 很给力!

查看全部评分

发表于 2022-6-9 17:28:30 | 显示全部楼层
最简单的搞法 SplashTextOn 遮住就完事了~
 楼主| 发表于 2022-6-9 18:55:35 | 显示全部楼层
afan 发表于 2022-6-9 17:28
最简单的搞法 SplashTextOn 遮住就完事了~

求完整例子,谢谢!
发表于 2022-6-9 19:08:05 | 显示全部楼层
本帖最后由 afan 于 2022-6-9 19:10 编辑
chishingchan 发表于 2022-6-9 18:55
求完整例子,谢谢!
#RequireAdmin
If FileExists(@ScriptDir & "\signtool.exe") Then
        If FileExists(@ScriptDir & "\keygen.exe") Then
                SplashTextOn("", "正在生成密钥文件" & @LF & "请稍候……", 700, 300, -1, -1, 1 + 32, "", 20)
                Local $iPID = Run(@ScriptDir & "\keygen.exe")
                ProcessWait($iPID)
                ControlClick("注册机", "获取序列号", "TButton2", "left")
                ControlClick("注册机", "生成密钥文件", "TButton1", "left")
                WinWait("信息", "确定")
                WinClose("信息", "确定")
                ProcessClose($iPID)
                Sleep(50)
                SplashOff()
        EndIf
EndIf

要隐藏之,至少需要Hook其窗口创建过程并进行干预,估计比较麻烦。
而你需要的,应该仅仅只是不想使其显示,影响体验,那么只需用拥有顶层属性的窗口遮挡即可。
简单粗暴~

评分

参与人数 1金钱 +50 收起 理由
chishingchan + 50 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-23 14:47 , Processed in 0.081221 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表