可能这里已经回答了,但是我没有找到。
然后,我想知道如何执行c ++ 控制台应用程序 / 服务(将自身安装为服务),以便可以看到所有输出(printf()
)在执行期间(类似于在system("pause");
中使用main()
时在普通控制台应用程序中会发生什么)?直到现在,我只有在Avast DeepScreen执行他:-)时才能看到您的控制台窗口。
谢谢。
EDITION:
我已经在getchar();
和ServiceMain()
中插入了while (true) ... Sleep()
,但是没有成功。
答案 0 :(得分:0)
好吧,使用c ++程序执行任何程序,只需使用命令提示符即可。 只需输入:
system(“path to the program”);
然后,将执行该程序。如果是控制台窗口程序,它将弹出。 您可以看到输出,很好,请遵循以下步骤: 1 System.Diagnostics.Trace类与Console类具有相似的接口,因此您可以很轻松地将代码迁移到该类。 2然后可以将其配置为输出到文件。您可以使用System.Diagnostics.EventLog类写入事件日志,然后可以使用事件查看器对其进行监视。 3您可以使用非常灵活的第三方开源log4net库。
答案 1 :(得分:0)
服务没有控制台窗口。即使这样做,服务也不会在交互式桌面中运行,因此您还是看不到这样的窗口。
您需要重新考虑您的日志记录方法。要么
将您的日志消息写入Windows事件日志,然后使用Windows事件查看器查看消息。
创建一个单独的视觉应用程序,该应用程序在用户的交互式桌面中运行,并与服务流程进行通信以接收日志消息。然后,您可以根据需要显示消息。