【问题标题】:Javascript Process Kill with pass in nameJavascript Process Kill with pass in name
【发布时间】:2012-07-09 05:25:38
【问题描述】:

我正在寻找一个简短的 javascript 代码来杀死在我的 windows 机器上运行的进程(我正在 7 上开发程序,但它必须在服务器 2003 上的生产中运行)。我从以下代码开始:

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

【问题讨论】:

    标签: javascript windows process wsh kill-process


    【解决方案1】:

    我假设您使用的是 Windows Script Host。

    您可以像这样访问脚本的参数:

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

    我假设您希望将要终止的进程作为参数传递给脚本。

    T.

    【讨论】:

    • 与我必须将其与(Automation Anywhere)集成的程序我只能访问 1 个 .js 文件并传入参数。那么你所说的如何与它相符呢?对不起,我只是对js不太熟悉
    • 此示例代码将遍历您提供给 .js 文件的参数并将它们写出。在您的情况下,您不仅想写出它们,还想用它们为 w.run() 构造正确的字符串
    【解决方案2】:

    您提到了 javascript,但您的代码是 VB 脚本,因此应该有 .vbs 扩展名。会不会是你的问题?

    【讨论】:

      猜你喜欢
      • 2022-12-02
      • 1970-01-01
      • 2022-12-01
      • 2012-08-28
      • 2022-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多