我正在研究一台Discord机器人,它可以作为我和我之间的中间人。 基本上使用我的机器人将命令发送到另一个命令提示符。 项目本身也是一个控制台应用程序。 这是我的方法: 通过使用start命令,Discord Bot启动一个新的Cmd.exe进程并使用它的进程ID回复。
Process.Start("Cmd.exe").Id;
现在通过使用该ID,我尝试自己获取进程,并尝试在新打开的进程上编写,但却没有这么做:
public static async Task ExecuteCommandAsync(int ID, string Command){
var CMDProcess = Process.GetProcessById(ID);
StreamWriter Writer = CMDProcess.StandardInput;
await Writer.WriteLineAsync(Command);
}
public static async Task<string> ReadOutputAsync(int ID)
{
var CMDProcess = Process.GetProcessById(ID);
StreamReader Reader = CMDProcess.StandardOutput;
return await Reader.ReadToEndAsync();
}
我查看了在线发布的各种示例,但无法得到简单的答案。我想保持代码本身简短。