VBS WScript.Shell运行.htm文件挂起IE

时间:2012-10-25 18:59:17

标签: internet-explorer vbscript wsh

我正在尝试使用WScript.Shell.Run打开文件。该文件并不总是相同的类型,我想依靠Windows使用默认程序打开该文件。

对于带有记事本设置的.txt,它非常棒。对于带有Internet Explorer 8或9(Windows XP或Windows 7)的.htm(或.html),命令将执行,并且将发生以下两种情况之一。

  1. 如果在脚本启​​动之前没有其他的IE实例正在运行,它将打开IE并挂起而不显示任何内容。
  2. 如果至少打开了另外一个IE窗口(或标签页),脚本将执行并执行打开新标签页或窗口的默认操作,并显示.htm(或.html)文件的内容。
  3. 问题在其他浏览器中并不明显,例如,如果您更改.htm的默认处理程序,则说Chrome在两种情况下都可以正常显示内容。

    test.vbs

    Set App = Wscript.CreateObject("WScript.Shell")
    App.Run("C:\test.htm")
    WScript.Quit
    

    TEST.HTM

    <html>
    <head><title>Test File</title></head>
    <body><p>Test File</p></body>
    </html>
    

1 个答案:

答案 0 :(得分:2)

我发现以下代码块可以代替使用WScript.Shell.Run

Set objShell = CreateObject( "Shell.Application" )
objShell.ShellExecute "C:\Backups\Scripts\test.htm"