是否可以启动Process.Start
启动的进程并将其发送到屏幕的“后面”,例如在屏幕上所有其他打开的窗口后面?
查看ProcessWindowStyle枚举以获取可用选项:
应用程序可以在定制窗口外观的同时将新窗口初始化为隐藏样式,然后使窗口样式为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中支持。
正如我所看到的,有几个选择:
开始进程并隐藏窗口(窗口不会被绘制到屏幕上)。
这可以用这个重载完成: Process.Start Method (ProcessStartInfo)
在ProcessStartInfo
对象中传入“隐藏”的WindowStyle。
创建过程,然后立即抓住它的窗口句柄( HWND
)并玩它。
这是不太“干净”,可能需要一些Win32的混乱,似乎不是正确的选择。
这一切都取决于你究竟是什么。