2012-07-09 57 views
0

我期待做一个简短的JavaScript代码,杀死我的Windows机器上运行的进程(我正在开发7程序,但它必须在服务器2003生产时运行)。我已经开始使用下面的代码:JavaScript过程杀死通过名字

w = new ActiveXObject("WScript.Shell"); 
w.run("taskkill.exe /im iexpore.exe"); 
return true; 

我需要使这个进程被杀死,但我通过了。有很多不同的东西可以杀死,而且我有另外一个程序来决定杀死的人。

我现在有下面的代码,但它仍然不工作:

Dim prcid 
Dim check 
Dim Inp 
Set Inp = WScript.Arguments 
check=0 
Set objService = GetObject("winmgmts:") 

For Each Process In objService.InstancesOf("Win32_process") 
    If process.name= "Inp" Then 
    prcid=process.processid 
    check=1 
    Exit For 
    End If 
Next 

If check =0 Then 
    WScript.Quit [ExitCode] 
End if 

For Each process In objService.InstancesOf("Win32_process") 
    If process.name= "Inp" Then 
    If process.processid=prcid Then 
     strComputer = "." 
     Set objWMIService = GetObject("winmgmts:" _ 
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
     Set colProcessList = objWMIService.ExecQuery _ 
      ("SELECT * FROM Win32_Process WHERE Name = 'Inp'") 
     For Each objProcess in colProcessList 
      objProcess.Terminate() 
     Next 
    End If 

    Exit For 
    End If 
Next 

回答

0

我假设你使用的是Windows脚本宿主。

您可以访问这些参数,以你的脚本是这样的:

objArgs = WScript.Arguments; 
for (i = 0; i < objArgs.length; i++) 
{ 
    WScript.Echo(objArgs(i)); 
} 

我想你也需要通过你想杀死作为参数传递给脚本的进程。

T.

+0

随着程序我必须与(自动化任何地方)集成这个我只能访问1 .js文件并传入参数。那么,你所说的话如何符合这一点?对不起,我只是不是很熟悉js – user1512885 2012-07-09 19:28:02

+0

这个例子代码会循环你提供给.js文件的参数并写出来。在你的情况下,你不会仅仅想写出来,而是使用它们为w.run()构造正确的字符串。 – tomdemuyt 2012-07-09 19:29:24