0

嗨,我是 vbscript 的新手,找不到任何有关如何检测创建的​​对象何时关闭的信息。

我有以下代码:

Set objExplorer = CreateObject("InternetExplorer.Application")
Set WshShell = Wscript.CreateObject("WScript.Shell")
objExplorer.Navigate "//IDM/jsps/login/Login.jsf"
objExplorer.Visible = true
objExplorer.ToolBar = false
objExplorer.MenuBar = false
objExplorer.StatusBar = false
objExplorer.AddressBar = false
objExplorer.Width = 1000
objExplorer.Height = 600
objExplorer.Resizable = false

我试图在 ie 关闭时让 Windows 注销,我有以下代码可以注销哪些工作,我如何在 ieclose 上调用它?

WshShell.Run "C:\windows\system32\shutdown.exe /l", 

谢谢

4

2 回答 2

2

一种快速而肮脏的方法是检查对象 HWND 属性并处理错误。

On Error Resume Next
Do Until Err
    h = objExplorer.HWND
    WScript.Sleep 50
Loop

WshShell.Run "C:\windows\system32\shutdown.exe /l"

[编辑] 或者这可能更接近您的需求:

With CreateObject("WScript.Shell")
    .Run "mshta.exe //IDM/jsps/login/Login.jsf", 1, True
    .Run "C:\windows\system32\shutdown.exe /l"
End With
于 2013-02-13T06:23:02.573 回答
0

使用WScript.Shell.Run等待而不是InternetExplorer.Application循环:

Const SW_SHOWNORMAL =  1
CreateObject("WScript.Shell").Run "iexplore.exe http://www.google.com", SW_SHOWNORMAL, True
WScript.Echo "Run done."
于 2013-02-13T07:30:48.147 回答