C# 在C代码中执行没有窗口窗体的独立exe
此代码打开我的exe并在后台运行。但我没有得到所需的输出。而且它也不会关闭。从功能上讲,我的exe应该打开并读取两个文本文件,并在输出文本文件上生成一些值。您尝试过类似的方法吗C# 在C代码中执行没有窗口窗体的独立exe,c#,C#,此代码打开我的exe并在后台运行。但我没有得到所需的输出。而且它也不会关闭。从功能上讲,我的exe应该打开并读取两个文本文件,并在输出文本文件上生成一些值。您尝试过类似的方法吗 System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("C://test.exe", "/c "); procStart
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("C://test.exe", "/c ");
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow =true; System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName == "test.exe")
{
p.Kill();
}
试图隐藏一个过程没有什么意义。您的用户始终可以访问它,它在任务管理器中可见,并且用户可以在感觉机器上发生异常情况时将其杀死。将本机代码合并到C项目中的标准方法是创建C++/CLI类库项目。除了解决令人毛骨悚然的隐藏进程问题,它将使您的程序更加可靠。检测和报告另一个流程中的不当行为并不简单。
ProcessStartInfo ProcessInfo = new ProcessStartInfo(PathToExe, MyArgs);
ProcessInfo.CreateNoWindow = true;
ProcessInfo.WindowStyle = ProcessWindowStyle.Hidden;
Process MyProc = Process.Start(ProcessInfo);
MyProc.WaitForExit();