Как увидеть консольное окно службы в течение всего времени выполнения? - PullRequest
0 голосов
/ 20 января 2019

Вероятно, здесь уже был дан ответ, но я не нашел.

Тогда я хочу знать, как выполнить консольное приложение c ++ / service (устанавливается как служба) каким образом я могу видеть все выходные данные (printf()) во время выполнения (аналогично тому, как это происходит в обычном консольном приложении, когда system("pause"); используется в main())?до сих пор я могу видеть ваше окно консоли только во время выполнения Avast DeepScreen он: -).

Заранее спасибо.


ИЗДАНИЕ:

Я уже вставил getchar(); в ServiceMain() и while (true) ... Sleep(), но безуспешно.

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Сервис не имеет консольного окна. И даже если это так, служба не запускается на интерактивном рабочем столе, поэтому вы все равно не увидите такого окна.

Вы должны переосмыслить свой подход к ведению журнала. Или

  • записать свои сообщения журнала в журнал событий Windows и использовать средство просмотра событий Windows для просмотра сообщений.

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

0 голосов
/ 20 января 2019

Хорошо, возьмите выполнение любой программы с помощью программы на С ++, вы можете просто сделать это с помощью командной строки.Просто введите:

    system(“path to the program”);

И программа будет выполнена.Если это консольная оконная программа, она появится.Вы можете увидеть выходные данные, хорошо, следуйте этим: 1 Класс System.Diagnostics.Trace имеет интерфейс, аналогичный классу Console, так что вы можете легко перенести свой код в него.2 Затем его можно настроить для вывода в файл.Вы можете использовать класс System.Diagnostics.EventLog для записи в журнал событий, который затем можно отслеживать с помощью средства просмотра событий.3 Вы можете использовать стороннюю библиотеку log4net с открытым исходным кодом, которая очень гибкая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...