Можно ли сделать так, чтобы процесс, запущенный с Process.Start, запускался и отправлялся в «заднюю часть экрана», например, за всеми другими открытыми окнами на экране?
Process.Start
Просмотрите перечисление ProcessWindowStyle для доступных параметров:
приложение может инициализировать новое окно в стиле Скрытый , в то время как оно настраивает внешний вид окнаи затем сделайте стиль окна нормальным.
Вы можете запустить свой процесс в свернутом состоянии, например:
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 для запуска процесса без создания нового окна.
ProcessStartInfo.CreateNoWindow
Я не думаю, что это поддерживается напрямую в .NET API.
На мой взгляд, есть несколько вариантов:
Запустите процесс исделать его окно скрытым (окно не будет отображаться на экране).
Это можно сделать с помощью этой перегрузки: Process.Start Method (ProcessStartInfo)
Process.Start Method (ProcessStartInfo)
Передача в WindowStyle "Hidden"в объекте ProcessStartInfo.
ProcessStartInfo
Создание процесса, а затем немедленное получение его дескриптора окна (HWND) и игра с ним.
HWND
Это меньше"«Чистый» и может потребовать некоторой путаницы в Win32, не похоже на правильный вариант.
Все зависит от того, что именно вы ищете.