2012-01-17 71 views
0

我想顯示其10秒後顯示從10到1的倒計時和autocloses一個MessageBox到顯示倒計時。作爲MSGBOX在VBScript通過代碼執行,直到用戶作用於它,我試圖在WScript的Shell對象使用彈出的VBScript使用VBScript圖形元素

 
Dim counter 
Dim oShell 
counter = 10 
Set oShell= CreateObject("Wscript.Shell") 
While counter > 0 

oShell.Popup " Left " & counter & " Seconds",1,"Remind" 
counter = counter-1 
Wend 

但它自動關閉的每一秒鐘,並打開一個新的彈出窗口有沒有什麼辦法,我可以顯示倒計時和使用vb腳本中的可用GUI元素自動關閉

回答

1

不用擔心,彈出窗口是模態&在顯示時無法與其交互,因此無法更新其現有內容。

如果你想有一個更靈活的用戶界面,你將需要使用不同的東西,控制檯或HTML在HTA。

1

您可以使用Internet Explorer創建一個非模態顯示。

Set oIE = CreateObject("InternetExplorer.Application") 

With oIE 
    .navigate("about:blank") 
    .Document.Title = "Countdown" & string(100, chrb(160)) 
    .resizable=0 
    .height=200 
    .width=100 
    .menubar=0 
    .toolbar=0 
    .statusBar=0 
    .visible=1 
End With 

' wait for page to load 
Do while oIE.Busy 
    wscript.sleep 500 
Loop 

' prepare document body 
oIE.document.body.innerHTML = "<div id=""countdown"" style=""font: 36pt sans-serif;text-align:center;""></div>" 

' display the countdown 
for i=10 to 0 step -1 
    oIE.document.all.countdown.innerText= i 
    wscript.sleep 1000 
next 
oIE.quit