我正在使用Visual Studio 2010创建一个C ++程序,它应该在我的机器背景上运行。
因此,当我启动时,我不应该在运行时看到CMD屏幕。我怎样才能做到这一点?我是否必须使用Win32 API或普通的C ++程序就足够了?
请注意我的程序根本没有GUI。
答案 0 :(得分:14)
使用WinMain():
#include <windows.h>
int WINAPI WinMain(HINSTANCE inst,HINSTANCE prev,LPSTR cmd,int show)
{
// program starts here
return 0;
}
// int main() <-- remove main()
然后确保您的项目设置已设置,以便您构建“Win32”程序而不是“控制台”程序。
编辑:正如@Sehe指出的那样,winMain可能没有必要,虽然我不太确定这个选项在哪里。
答案 1 :(得分:5)
将其作为服务See here.
运行答案 2 :(得分:2)
在Windows下运行而没有“面部”的程序(例如,根本没有用户界面)通常被实现为Service。
答案 3 :(得分:2)
答案 4 :(得分:1)
只需将其设为GUI应用程序而不是命令行应用程序。右键单击项目 - &gt;属性 - &gt;配置属性 - &gt;链接器 - &gt;系统 - &gt;子系统 - &gt; Windows(/ SUBSYSTEM:WINDOWS)。
答案 5 :(得分:0)
您可以作为Windows进程运行(不附加到控制台),但从不创建窗口。主要区别是WinMain
的签名和编译器的标志。
转到文件 - &gt;在New Project中,选择标准Windows应用程序,然后删除除WinMain
以外的所有内容。