C# 工作角色隐藏控制台进程

C# 工作角色隐藏控制台进程,c#,azure,C#,Azure,我试图在我的工作者角色中执行控制台进程,但无论我为进程设置了什么配置,它总是在后台运行: 以下是我的控制台设置: Process proc = new Process(); proc.StartInfo.FileName = "D:\\ZProcessing.exe" ; //console process proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true; proc.S

我试图在我的工作者角色中执行控制台进程,但无论我为进程设置了什么配置,它总是在后台运行:

以下是我的控制台设置:

Process proc = new Process();

proc.StartInfo.FileName = "D:\\ZProcessing.exe" ; //console process

proc.StartInfo.UseShellExecute = false; 
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;

proc.Start();
一种方法是:

[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
private IntPtr handle;
private Process proc;

private void MyMethod()
{
  proc = new Process();
  proc.StartInfo.FileName = "D:\\ZProcessing.exe" ; //console process

  proc.StartInfo.UseShellExecute = false; 
  proc.StartInfo.RedirectStandardOutput = true;
  proc.StartInfo.RedirectStandardError = true;
  proc.StartInfo.CreateNoWindow = false;
  proc.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;

  proc.Start();

  // Find new window handle
  handle = proc.MainWindowHandle;

  // Set it to foreground
  SetForegroundWindow(handle);
}

不幸的是,据我所知,使用纯.NET是不可能做到这一点的。上述解决方案假设您在与当前登录用户相同的用户下运行进程。

在后台运行进程,还是以其他用户的身份运行?