我想通過vbscript獲取正在運行的應用程序的名稱列表,並通過其主窗口標題來終止應用程序。這些應用程序應該在Task Manager -> Applications tab
像這樣列出:
從網上搜索後,我發現的VBScript喜歡this:
如何通過vbscript獲取正在運行的應用程序名稱
'FUNCTION
Function ListProcessRunning()
'This function can report names from
'TaskManager -> Processes
sComputerName = "."
Set objWMIService = GetObject("winmgmts:\\" & sComputerName & "\root\cimv2")
sQuery = "SELECT * FROM Win32_Process"
Set objItems = objWMIService.ExecQuery(sQuery)
'iterate all item(s)
For Each objItem In objItems
WScript.Echo objItem.Name
Next
End Function
這VBScript的列表中的所有進程名稱這是Task Manager -> Processes tag
下像這個:
這不是我想要的。
我也發現了這一點:
'FUNCTION
Function ListApplicationRunning()
'This function can report names from
'TaskManager -> Application
Set Word = CreateObject("word.application")
For Each x In Word.Tasks
WScript.Echo x.Name
Next
Word.Quit
Set Word = Nothing
End Function
這真的給我我想要的,但問題是我要運行此腳本沒有Word
所以沒有word.application
對於VBScript服務器,我不能夠爲它安裝一個。
我的問題是如何獲取應用程序名稱並通過該名稱殺死應用程序?我不確定是否可以只用vbscript做,可能是vbscript
和cmd
的組合也行。
看看[這](http://stackoverflow.com/a/20398390/2861476)解決您的問題。 –
對不起,你的腳本會給我一個進程列表,這不是我想要的。非常感謝你。 – sflee
指定的代碼允許您檢索窗口的標題(任務列表輸出中的最後一列或代碼中的「任務(8)」)。現在,您可以在'taskkill'中使用PID('task(1)')或通過'WMI'查詢定位進程並調用進程的Terminate'方法。 –