为什么我的VBScript在Windows 10上做的与Windows 7上做的不一样?

时间:2018-12-17 17:46:21

标签: vbscript

我已经创建了一个运行一些VBScript的批处理文件,该文件在Windows 7中可以正常运行,但在Windows 10中却不能正常运行。

批处理文件执行以下列出的6件事。在Windows 7上,所有6件事都会发生。在Windows 10上,除项目5之外的所有东西都将发生,并且窗口标题未更改。

  1. 打开Internet Explorer
  2. 将窗口移至前景
  3. 导航到网页
  4. 等待1.5秒以允许网页加载
  5. 将窗口标题从“ MultiSmart”更改为“ Community MultiSmart”
  6. 退出

这是批处理文件。

<!-- :
@echo off
cscript //nologo "%~f0?.wsf" %*
exit /b
-->

<job>
  <script language="VBScript">

  Set ie = WScript.CreateObject("InternetExplorer.Application")

   'ie properties

    ie.ToolBar = 0
    ie.StatusBar = 0
    ie.Width = 816
    ie.Height = 519
    ie.Visible = 1
    ie.Resizable = 0

   'bring window to foreground
    CreateObject("WScript.Shell").AppActivate "Internet Explorer"

   'navigate to Stony Mountain Lift Station's Multismart
    ie.Navigate("http://192.168.0.11/")

   'wait for page to load into browser
    Wscript.Sleep 1500

   'change window title
    ie.document.title="Community MultiSmart"

  </script>
</job>

2 个答案:

答案 0 :(得分:1)

我会再次检查网页是否已完全加载。

更改此行:

Wscript.Sleep 1500

While IE.ReadyState < 4
    Wscript.Sleep 250
Wend

  

目前尚不清楚npocmaka's comment是否为
   “ ...添加元数据以强制Windows 10上的旧浏览器行为。”

     

是否为您工作。 如果不是,请考虑以下替代方法:

在IE中检查您的安全设置。

  

警告::此答案提供了可能降低系统安全设置的建议。建议您在继续操作之前充分了解所涉及的风险,并主动采取替代性保护措施。 (或者,只需停止IE☺中的自动化)

  • 转到IE > Internet Options > Security Tab
  • (可选)如果您信任站点(将使您更轻松地进行下一步),请将其添加到“受信任的站点”区域中
  • 您决定将站点保留在哪个区域(“ Internet”或“受信任的站点”),请取消选中以下框:启用保护模式(需要重新启动)警告:这显然会降低IE的安全性。
    • 单击“应用”,然后单击“确定”
  • 关闭所有IE浏览器,以确保更改生效
    • 仔细检查任务管理器( Ctrl - Shift - Esc ),以确保{{ 1}}标签。
  • 测试最终结果
    • 如果仍然无法使用,请确保撤消所有设置。

脚本显然对任何系统都有危险,这就是为什么保护模式可能会严重限制您可以使用自动化执行的操作。我相信IE直到Windows 8(.1)都不会在IE中默认启用保护模式,但是我没有怀疑的根源。如果是这种情况,这就是为什么它可以在Windows 7而不是Windows 10上运行的原因。

在启用保护模式的情况下,您仍然可以执行简单的操作,但是它受到严格限制。例如,您仍然可以导航到网页,但是IE的许多其他属性和方法均被禁用。

答案 1 :(得分:0)

我正在重新发布npocmaka的评论,以回答我的问题作为答案。

  

因为它取决于Internet Explorer版本

版本不同。在IE 11.0.966.18920上有效的功能在IE 11.461.16299.0上无效。