的过程.Start -如何将启动的可执行文件发送到后台(c#)

本文关键字:后台 启动 Start 过程 可执行文件 | 更新日期: 2023-09-27 18:02:15

是否有可能使与Process.Start一起启动的进程被启动并发送到"屏幕后面",例如在屏幕上所有其他打开的窗口后面?

的过程.Start -如何将启动的可执行文件发送到后台(c#)

查看可用选项的ProcessWindowStyle枚举:

应用程序可以在自定义窗口外观时将新窗口初始化为Hidden样式,然后使窗口样式为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 "Hidden"

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

    这是不那么"干净",可能需要一些Win32混乱,似乎不是正确的选择