[英]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.