Запустите .exe-приложение в фоновом режиме с кодом c #

#c# #background-process

#c# #фоновый процесс

Вопрос:

Я хочу написать приложение, которое открывает proxifier (portable edition) в фоновом режиме (без графического интерфейса пользователя).
Я попробовал этот код, но он просто открывает proxifier в обычном режиме (он снова показывает графический интерфейс):

 ProcessStartInfo info = new ProcessStartInfo("pfier.exe") 
{
 CreateNoWindow = true,
 UseShellExecute = false,
 WindowStyle = ProcessWindowStyle.Hidden,
 RedirectStandardOutput = true 
}; 

Process pfier = new Process();
pfier.StartInfo = info;
pfier.Start();
 

Я новичок в c # и не знаю, возможно это или нет. Спасибо за помощь.

Комментарии:

1. @jdweng Это не изменит поведение процесса, который выполняется подобным образом.

2. @Servy: Вы ошибаетесь. Любой код, размещенный в фоновом режиме и выполняемый в асинхронном режиме, будет выполняться в фоновом режиме.

3. @jdweng Вы ошибаетесь. То, как выполняется процесс, не имеет ничего общего с тем, в каких потоках запускается процесс. Многие процессы даже не имеют какого-либо «фонового режима», говоря, что создание процесса из фоновых потоков всегда запускает его в «фоновом режиме», даже не имеет никакого смысла. Если процесс имеет какой-либо режим, отличный от пользовательского интерфейса (если это не его стандартное средство выполнения), его необходимо каким-то образом указать, чтобы он мог заметить, обычно аргумент командной строки, хотя, возможно, что-то еще, например, конфигурационный файл или стандартный ввод или любое количество других параметров.

4. Попробуйте установить ProcessStartInfo. Аргументы свойства параметров командной строки, которые запустят его в автоматическом режиме.

5. @Servy: В чем разница между фоновым режимом и асинхронным?