不能使用c#中的tskill

本文关键字:中的 tskill 不能 | 更新日期: 2023-09-27 18:09:41

我有一个c#程序。它实际上是一行:

System.Diagnostics.Process.Start(@"C:'ProgramData'task manager'killtask.vbs");

那里有一个VBS文件,它生成一个批处理文件,允许你输入一个命令,它将被执行和关闭。然后发送以下密钥:"tskill /a notepad {ENTER}"。我知道这可能是你见过的最糟糕的做法,但请耐心听我说。

手动运行VBS文件时,关闭记事本成功。当使用上面的行在c#中运行它时,它在关闭之前打印"tskill is not recognized"等。

为什么我不能通过c#通过VBS批处理使用tskill,但我可以通过VBS批处理使用它?记住,点击它并成功运行我的c#代码都试图杀死记事本,但只有用手点击它才能成功关闭记事本。

不能使用c#中的tskill

您可能需要设置工作目录。如果没有它,你的程序将从启动脚本的进程目录执行,而这个目录不是正确的目录。

试试

var processStartInfo = new ProcessStartInfo();
processStartInfo.WorkingDirectory = @"C:'ProgramData'task manager");
processStartInfo.FileName = "killtask.vbs";
Process proc = Process.Start(processStartInfo);