在64位系统环境下,使用_IEAttach失败的原因
经过测试,发现在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 我的是win7 64位的,枚举正常啊。。。 我已经习惯不管支不支持X64 开头一率加上#AutoIt3Wrapper_UseX64=n 回复 3# zch11230
唉,有时候就算加了也没用,草了,有可能版本不同就不行了,3.3.9.21这个版本有时候#AutoIt3Wrapper_UseX64=n加了这个也不能正确的获取com对象,气死人了,目前遇到几个bug,不知道是版本问题还是机器(估计不是)问题 回复 4# wszhov
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strComputer & "\root\CIMV2")
在3.3.9.X以上版本运行时停止错误 回复 5# tubaba
系统有原因的,估计是,也可能还是版本问题,vbs能正常获取对象
页:
[1]