繁体   English   中英

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

[英]Process.Start - How to send the launched executable to the back (C#)

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

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

应用程序可以在自定义窗口外观的同时将新的 window 初始化为Hidden样式,然后将 window 样式设为 Normal。

您可以从最小化的 state 开始您的流程,例如:

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来启动进程,而无需创建新的 window。

我不认为 .NET API 直接支持这一点。

在我看来,有几个选择:

  1. 启动该过程并使其 window 隐藏(window 不会被绘制到屏幕上)。

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

    ProcessStartInfo object 中传入 WindowStyle “Hidden”。

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

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

这一切都取决于你到底在追求什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM