[英]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 直接支持这一点。
在我看来,有几个选择:
启动该过程并使其 window 隐藏(window 不会被绘制到屏幕上)。
这可以通过这个重载来完成: Process.Start Method (ProcessStartInfo)
在ProcessStartInfo
object 中传入 WindowStyle “Hidden”。
创建进程,然后立即抓住它的 window 句柄 ( HWND
) 并使用它。
这不太“干净”,可能需要一些 Win32 混乱,这似乎不是正确的选择。
这一切都取决于你到底在追求什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.