如何在Windows中使一个简单的Hello World“隐形”(C / C ++)

你好,我想知道是否有可能在Windows中制作一个简单的Hello World程序(然后进入实际的程序)隐形。 我的意思是,当我执行程序时,将没有任何图形指示。 没有cmd打印“Hello world”,没有任务栏标签,没有系统托盘图标,什么都没有。 我希望程序能够在不打扰我的情况下静默执行。

那我在想什么呢? 那可行吗? 它会像服务一样吗? 我不知道。

我想用C / C ++ btw编写代码。

您如何处理这取决于您拥有的Windows应用程序的类型。

如果您希望程序在启动时运行并在关闭时停止,那么请继续编写Windows服务,这是可行的,但不像编写常规用户模式应用程序那么简单。 调试服务位于常规应用程序和设备驱动程序之间,更像是应用程序,但您必须使用Microsoft模板挂钩,以便获得调试控制。

如果您只是想要一个静音控制台并且它是一个Windows应用程序(主窗口和所有这些),您可以创建窗口,使其最初不显示。

如果它是控制台应用程序,您应该能够重定向控制台的输出。 有一些Win32库例程来操作控制台,包括关闭窗口,因此应用程序可以“静默”运行。 这是这些function的链接。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx

如果它是必须从用户启动以执行某项任务的应用程序,或者无论如何,它是绑定到当前用户会话的一些不可见应用程序,只需创建一个GUI应用程序而不创建任何窗口。

相反,如果这样的应用程序应该保留在后台而不管登录/注销,你应该编写一个Windows服务 – 但请注意,它需要相当多的Windows编程经验才能使服务中的一切正常; 如果您不知道Windows服务是什么,您可能应该坚持第一个解决方案。

是的,您可以将其变为服务,并且不会显示任何控制台。 有关如何实现此目的的更多信息,请查看此MSDN页面 。