AutoIt - 没有#RequireAdmin崩溃打开网址

时间:2017-07-10 18:19:27

标签: internet-explorer admin autoit

如果我在test.au3中运行:

#requireadmin
#include<IE.au3>

$oIE = _IECreate("www.google.com", 0, 1, 0, 1)

它成功打开一个新的Internet Explorer窗口并导航到www.google.com。

现在,如果我删除#requireadmin并运行:

#include<IE.au3>

$oIE = _IECreate("www.google.com", 0, 1, 0, 1)

它只是打开窗口而没有导航到URL。大约15秒后,它崩溃了:

---------------------------
AutoIt Error
---------------------------
Line 272  (File "\\intra.saaq.net\sb\du\du02\gar25\Desktop\outil_outlook\sources\Include\IE.au3"):

$oObject.navigate($sUrl)
$oObject^ ERROR

Error: The requested action with this object has failed.
---------------------------
OK   
---------------------------

为什么#requireadmin只需要导航到一个URL? 有什么方法吗?

使用AutoIt3.exe - 3.3.14.0

1 个答案:

答案 0 :(得分:3)

这似乎是Windows安全问题。

The AutoIt help for _IECreate()描述了一些解决方法; #RequireAdmin就是其中之一......

  

Windows Vista中的新安全性会导致新的浏览器窗口   在指示浏览器导航到a中的URL时创建   不同的安全区。

     

这也会在初始创建和导航启动时发生   与_IECreate()。

     

新窗口是新的浏览器实例和之前的浏览器   对象变量不再指向它。

     

有几种解决方法:

     

1)将#RequireAdmin添加到您的代码中(即使是   帐户是管理员组的一部分,将提示您   凭证,如有必要),

     

2)使用_IEAttach()连接到新的浏览器窗口

     

3)将目标网站添加到IE中的“可信站点”安全区域,

     

4)关闭IE中的“保护模式”,

     

或5)禁用UAC。必须注意理解其含义   在访问不受信任的站点时禁用IE安全功能。