Создать фоновый процесс в окнах - PullRequest
2 голосов
/ 27 декабря 2010

Как заставить процесс идти в фоновом режиме программно?

Я хочу, чтобы пользователь дважды щелкнул исполняемый файл процесса, и он просто перешел в фоновый режим ... и не открыл окно во время выполнения.

Любой фрагмент кода в Visual C ++ был бы очень полезен

Ответы [ 4 ]

3 голосов
/ 27 декабря 2010

Рассматривали ли вы вместо этого создание службы Windows ? Они специально предназначены для работы в фоновом режиме без отображения пользовательского интерфейса.

В противном случае просто создайте приложение без окна .

1 голос
/ 09 мая 2012

Я знаю, что это старо, но я подумал, что опубликую что-нибудь, когда люди найдут это через поиск.

Хотя мне нравится ответ Коди Грея за корректность дизайна, иногда у вас нет выбора.

Если вы хотите запустить программу без перехода в новое окно (оно отображается в фоновом режиме или свернуто) или вообще не создавать окно, попробуйте взглянуть на ShellExecute и ShellExecuteEx функций. Аргумент nShowCmd (или nShow) дает вам (среди прочих) варианты:

SW_HIDE

Скрывает окно и активирует другое окно.

SW_SHOWMINNOACTIVE

Отображает окно как свернутое окно. Активное окно остается активным.

Как сказано в документации, SW_HIDE создает процесс, запускающий исполняемый файл, который вы ему даете, но если эта программа обычно создает окно, ничего не появляется.

1 голос
/ 27 декабря 2010

Это может помочь: http://ss64.com/nt/start.html

0 голосов
/ 18 июля 2016

Я попробовал этот способ, и он работал нормально: Создайте консольное приложение и напишите свои коды в подоснове, как любое другое консольное приложение. Теперь измените тип приложения в свойствах проекта на приложение Windows Forms из консольного приложения. вот и все

...