我想通过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'方法。 –