经过测试,发现在64位系统环境下,使用shell.application的windows方法,不能枚举到由InternetExplorer.application创建的IE窗口.导致_IEAttach失败,不知道有什么方法可以解决这一问题
可用以下代码测试ShellExecute('iexplore.exe')
Sleep(2000)
$oIE = ObjCreate("InternetExplorer.Application")
$oIE.navigate('about:blank')
$oIE.Visible = True
Sleep(2000)
Local $oShell = ObjCreate("shell.application") ; 获取窗口 Shell 对象
Local $oShellWindows = $oShell.windows ; 获取窗口 Shell 集合
If IsObj($oShellWindows) Then
Local $string = "" ; 用于显示用途的字符串
For $Window In $oShellWindows ; 计数现有 Shell 窗口
$string = $string & $Window.LocationName & @CRLF
Next
MsgBox(0, "窗口 Shell","您打开以下 Shell 窗口:" & @CRLF & @CRLF & $string);
EndIf
Exit
注:我使用的autoit版本是3.3.6.1 |