我有一个简单的 Node.js 程序,它通过从 winform 中单击按钮执行,效果很好,但是我需要终止 Node.js 程序并在另一个按钮单击时关闭命令提示符。我怎样才能做到这一点?
干杯吉夫
如果您启动该过程,您将拥有一个类型为 的对象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")
你已经习惯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();