Process.Start – 如何将启动的可执行文件发送到后台(C#)

是否可以启动Process.Start启动的进程并将其发送到屏幕的“后面”,例如在屏幕上所有其他打开的窗口后面?

查看ProcessWindowStyle枚举以获取可用选项:

应用程序可以在定制窗口外观的同时将新窗口初始化为隐藏样式,然后使窗口样式为Normal。

您可以以最小化的状态启动进程,例如:

 ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = "Myapplication.exe"; startInfo.WindowStyle = ProcessWindowStyle.Minimized; // or Hidden here Process process = new Process(); process.StartInfo = startInfo; process.Start(); 

您可以设置ProcessStartInfo.CreateNoWindow来启动进程而不创建新窗口。

我不认为这是直接在.NET API中支持。

正如我所看到的,有几个选择:

  1. 开始进程并隐藏窗口(窗口不会被绘制到屏幕上)。

    这可以用这个重载完成: Process.Start Method (ProcessStartInfo)

    ProcessStartInfo对象中传入“隐藏”的WindowStyle。

  2. 创建过程,然后立即抓住它的窗口句柄( HWND )并玩它。

    这是不太“干净”,可能需要一些Win32的混乱,似乎不是正确的选择。

这一切都取决于你究竟是什么。