2010-05-29 111 views

回答

12

可以使用SendKeys方法將Alt鍵 + F4快捷方式發送到你想關閉該窗口。此窗口此時必須處於活動狀態,因此您還需要在SendKeys之前撥打AppActivate

基本上,你需要這樣的事:

Set oShell = CreateObject("WScript.Shell") 
oShell.AppActivate "Untitled - Notepad" 
oShell.SendKeys "%{F4}" 

您可能要添加檢查和短暫的延遲,使你的腳本更加萬無一失:

Set oShell = CreateObject("WScript.Shell") 
If oShell.AppActivate("Untitled - Notepad") Then 
    WScript.Sleep 500 
    oShell.SendKeys "%{F4}" 
End If 

編輯:(對您對VBScript資源的評論/問題的回答。)

我已經整理了一些鏈接,VBScript的網站和網頁的資源,我希望他們會有所幫助:

上W3Schools的學習

參考

其他資源


至於俄羅斯VBScript中的資源,看看script-coding.infoСерый форум —有有很多有用和有趣的例子。另外,請看this thread,其中包含許多VBScript資源的鏈接,包括俄文版的資源。

+0

大它的作品!謝謝!!!你能告訴文學對vbscript或英文或俄文有用嗎?) – Alexandr 2010-05-29 19:48:09

+0

有人問,它將如何在Windows 7上? 設置oShell =的CreateObject( 「WScript.Shell」) 如果oShell.AppActivate( 「無標題 - 記事本」),然後 WScript.Sleep 500個 oShell.SendKeys 「%{F4}」 結束如果 這不是工作在Windows上7((((( – Alexandr 2010-05-29 20:19:08

+0

我想出了Windows 7下的問題! Helen謝謝。 – Alexandr 2010-05-30 09:50:20

0

發佈此答案的任何人仍然堅持嘗試關閉WScript.Shell對象後創建它,但無法找到解決方案。我嘗試了上述解決方案,它造成的MSWord 2016年崩潰,不知道原因 我的VB腳本:

 Dim wsh As Object 
     Set wsh = CreateObject("WScript.Shell", vbNothing) 
     wsh.Run "cmd.exe /C pause" 
     wsh.Run "taskkill /F /IM cmd.exe"