#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: В чем разница между фоновым режимом и асинхронным?