簡體   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