joh*_*nrl 5 c# escaping copy-paste
可能重复:
如何将ctrl + c发送到c#中的进程?
我无法弄清楚如何模拟发送Ctrl+ C外部程序.当我通过CMD手动运行该程序,当我按下Ctrl+ c将中止,并问我是否要保存它已完全关闭之前.我试图通过C#来模拟它,但它似乎不起作用.
这就是我现在正在做的事情:
// Create new process object
process = new Process();
// Setup event handlers
process.EnableRaisingEvents = true;
process.OutputDataReceived += OutputDataReceivedEvent;
process.ErrorDataReceived += ErrorDataReceivedEvent;
process.Exited += ProgramExitedEvent;
// Setup start info
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = ExePath,
UseShellExecute = false, // Must be false to redirect IO
RedirectStandardOutput = false,
RedirectStandardError = false,
RedirectStandardInput = true,
Arguments = arguments
};
process.StartInfo = psi;
// Start the program
process.Start();
process.StandardInput.Write( "\x3" ); // 0x3 is Ctrl+C according to ASCII table
Run Code Online (Sandbox Code Playgroud)
该计划没有回应这个,只是继续.在控制台中执行+ 时,Windows实际上不会向输入流发送Ctrl+ 的问题,而是向进程发送"中断"吗?我认为将"\ x3"发送到输入流完全是Windows 在控制台中按+ 时所做的事情.我错了吗?CCtrlcCtrlc
| 归档时间: |
|
| 查看次数: |
13490 次 |
| 最近记录: |