标题: [问题求助] VBS脚本ExecMethod_方法的疑问[已解决] [打印本页]
作者: czjt1234 时间: 2013-3-5 10:52 标题: VBS脚本ExecMethod_方法的疑问[已解决]
本帖最后由 czjt1234 于 2013-3-6 23:34 编辑
- Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
- Set objSWbemServices = objSWbemLocator.ConnectServer()
- Set objSWbemObject = objSWbemServices.Get("Win32_Service='Alerter'")
- objSWbemObject.ExecMethod_("StartService")
复制代码
这个能执行StartService方法启动指定服务-
- Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
- Set objSWbemServices = objSWbemLocator.ConnectServer()
- Set objSWbemObject = objSWbemServices.Get("Win32_Process='1044'")
- objSWbemObject.ExecMethod_("Terminate")
复制代码
假如新开的cmd窗口的PID=1044
这个为什么不能执行Terminate方法关闭进程
作者: Spring 时间: 2013-3-6 15:15
各种对象的方法和属性都不一样,你这样凭感觉去凭空捏造是不行的,查资料多看例子就知道了。- Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
- Set objSWbemServices = objSWbemLocator.ConnectServer()
- Set objSWbemObject = objSWbemServices.Get("Win32_Process.Handle='1044'")
- Set objInParams = objSWbemObject.Methods_("Terminate").InParameters.SpawnInstance_()
- Set objOutParams = objSWbemObject.ExecMethod_("Terminate", objInParams)
复制代码
还有,这种通用方法一般都很难用,如果要结束进程用这个就可以了- GetObject("winmgmts:Win32_Process.Handle=1044").Terminate
复制代码
作者: czjt1234 时间: 2013-3-6 23:39
非常感谢。我是在研究 ExecMethod_ 方法的使用
原来加个空的objInParams对象就行了
这Terminate方法明明没有参数
作者: Demon 时间: 2013-3-6 23:57
本帖最后由 Demon 于 2013-3-7 00:04 编辑
非常感谢。我是在研究 ExecMethod_ 方法的使用
原来加个空的objInParams对象就行了
这Terminate方法明明没有参数
czjt1234 发表于 2013-3-6 23:39
http://msdn.microsoft.com/en-us/ ... 93907(v=vs.85).aspx
借用2楼的话,你这样凭感觉去凭空捏造是不行的。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |