1

我有一个简单的 Node.js 程序,它通过从 winform 中单击按钮执行,效果很好,但是我需要终止 Node.js 程序并在另一个按钮单击时关闭命令提示符。我怎样才能做到这一点?

干杯吉夫

4

2 回答 2

2

如果您启动该过程,您将拥有一个类型为 的对象process。该对象支持kill立即结束进程。

更新代码

Public Class Form1

Dim MyProcess As Process

Private Sub btnStartPrcoess_Click(sender As Object, e As EventArgs) Handles btnStartPrcoess.Click

    If MyProcess Is Nothing Then
        MyProcess = Process.Start("cmd.exe", "arguments")
    End If

End Sub

Private Sub btnKillProcess_Click(sender As Object, e As EventArgs) Handles btnKillProcess.Click

    If MyProcess IsNot Nothing Then
        MyProcess.Kill()
        MyProcess.Close()
        MyProcess = Nothing
    End If

End Sub
End Class

如果您需要从不同的方法结束流程,您当然需要在类级别声明流程变量。甚至Process.Start()还有一个进程类型的返回值。因此,无需搜索该过程 - 您已经知道了!

更新

做这样的事情或多或少是胡说八道:

MyProcess = Process.Start("cmd.exe", "/k notepad.exe")

因为它只是启动 cmd.exe,然后启动 notepad.exe。当然,Process现在“指向” cmd.exe 而不是 notepad.exe。如果你想让记事本运行,这显然是直接启动它的最佳解决方案:

MyProcess = Process.Start("notepad.exe", "arguments for notepad, if needed")
于 2012-12-28T06:57:20.713 回答
2

你已经习惯Process.Start("cmd.exe", "/k C:\Users\PROG21\Desktop\chat\exit.exe")了启动这个过程。所以声明一个全局Process变量并尝试;

Process exeProcess; 

在开始按钮上单击:

 exeProcess = Process.Start("cmd.exe", "/k C:\Users\PROG21\Desktop\chat\exit.exe");  

点击停止按钮;

exeProcess.Kill();
于 2012-12-28T07:17:04.663 回答