我需要在应用程序启动期间创建一个没有控制台窗口或(任何其他窗口)的 exe 应用程序。
为此我尝试了以下方法:
- 使用 Visual Studio 2010 创建一个 Win32 控制台应用程序作为空项目。
- 向项目添加头文件“stdafx.h”
- 向项目添加一个cpp文件并添加以下代码。
-
项目设置是 Visual Studio 默认设置。
#include "stdafx.h"
#include <windows.h>
#include "TlHelp32.h"
#include <iostream>
#include <string>
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
return 0;
}
上面的代码编译良好。
但是,如果我将字符集更改为“使用 Unicode 字符集”,则会收到以下编译错误。
错误 C2731:“WinMain”:函数无法重载
我正在 Windows 7 64 位计算机和 Visual Studio Build 平台(x64)上构建应用程序。
在此先感谢您的帮助。
是的,当您使用有效的 UNICODE 进行构建时,入口点将采用 Unicode 字符串作为命令行参数。所以这需要不同的声明:
int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPWSTR lpCmdLine, int nShowCmd)
或者你可以使用#include <tchar.h>
所以无论哪种方式都有效,现在没有多大意义:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)