找回密码
 加入
搜索
楼主: smooth

[AU3基础] [已解决]请教如何捕获Web浏览器退出时的系统消息

[复制链接]
发表于 2022-4-22 13:42:48 | 显示全部楼层
马上就要成功了,你却不研究了。。。。
发表于 2022-4-25 15:05:56 | 显示全部楼层
窗口句柄一旦创建,将伴随整个窗口过程,在窗口销毁前,句柄一直存在。而且句柄是唯一的,从不重复。因此,不可能有句柄消失又回来的情况。也许是你判断的过程有误。A版已经提示你了,不要死钻牛角尖。如果你检测到句柄为0,可能是窗口没有被检测到(隐藏?)

 楼主| 发表于 2022-4-26 21:43:10 | 显示全部楼层
本帖最后由 smooth 于 2022-4-26 21:44 编辑
tubaba 发表于 2022-4-25 15:05
窗口句柄一旦创建,将伴随整个窗口过程,在窗口销毁前,句柄一直存在。而且句柄是唯一的,从不重复。因此, ...

不是钻牛角尖,而是没有掌握方法。我之前一直都是基于窗口标题去检测,方法不对路。
Opt("WinTitleMatchMode", 2) ;匹配窗口标题的模式调整为“按子字符串”来匹配
HotKeySet("{ESC}", "_Exit")
Global $i = 0
Do
 Sleep(1000)
 $i += 1
 Global $iProcess = WinGetProcess("上海浦东发展银行公司网上银行")
Until $iProcess <> -1 Or $i > 100000
Dim $aGetWeb[1]
While 1
 Sleep(100)
 If UBound($aGetWeb) -1 = 0 Then
     $aGetWeb[UBound($aGetWeb) -1] = $iProcess
  ReDim $aGetWeb[UBound($aGetWeb) + 1]
 ElseIf $iProcess <> $aGetWeb[UBound($aGetWeb) -2] Then
  $aGetWeb[UBound($aGetWeb) -1] = $iProcess
  ReDim $aGetWeb[UBound($aGetWeb) + 1]
 EndIf
 If Not ProcessExists($iProcess) Then ExitLoop
WEnd
_ArrayDisplay($aGetWeb)
Func _Exit()
 Exit
EndFunc   ;==>_Exit
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-3-29 01:13 , Processed in 0.063993 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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