Googleで、またはStackOverflowでここで答えを見つけることができないようです。
プロセスを(アクティブウィンドウの背後にある)バックグラウンドで開始するにはどうすればよいですか?同様に、プロセスの開始時に、ユーザーが使用している現在のアプリケーションを中断することはありません。
プロセスは現在のアプリケーションの前に飛び出すことはなく、ただ開始するだけです。
これは私が使っているものです:
Process.Start(Chrome.exe);
Chromeが起動すると、アプリケーションの前にポップアップします。バックグラウンドで開始するにはどうすればよいですか?
私も試しました:
psi = new ProcessStartInfo ("Chrome.exe");
psi.UseShellExecute = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.WindowStyle = ProcessWindowStyle.Minimized;
Process.Start(psi);
しかし、以前のものとまったく違いはありません。
ありがとう。
これを試して:
Process p = new Process();
p.StartInfo = new ProcessStartInfo("Chrome.exe");
p.StartInfo.WorkingDirectory = @"C:\Program Files\Chrome";
p.StartInfo.CreateNoWindow = true;
p.Start();
また、それがうまくいかない場合は、追加してみてください
p.StartInfo.UseShellExecute = false;
以下のコードはあなたが必要なことをするはずです:
class Program
{
static void Main(string[] args)
{
var handle = Process.GetCurrentProcess().MainWindowHandle;
Process.Start("Chrome.exe").WaitForInputIdle();
SetForegroundWindow(handle.ToInt32());
Console.ReadLine();
}
[DllImport("User32.dll")]
public static extern Int32 SetForegroundWindow(int hWnd);
}