使用Visual Studio(VS)创建空项目的Win32桌面应用程序【main函数入口变WinMain】

前言

在Visual Studio中直接新建Windows桌面应用程序会有很多多余的代码生成,本文将提供从空项目创建Win32项目的方法,解决新建空项目直接使用WinMain代码编译报错的问题

例如:LNK2019 :无法解析的外部符号

参考博客:

VS创建空的Win32程序 - fenggwsx - 博客园 (cnblogs.com)

步骤一:创建空项目

使用VS创建一个空项目

如图所示,默认创建的是控制台项目

步骤二:修改项目属性

新建项目后,右键点击项目名称,找到"属性"

打开属性配置页

在上方按需选择需要的配置,没有特殊需求可以选择所有配置

如图所示,选择配置属性->链接器->系统->子系统

将控制台改成窗口选项

步骤三:创建入口函数

新建源文件,例如main.cpp

在源文件添加如下代码

cpp 复制代码
#include <Windows.h>

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
	return (int) msg.wParam;
}

编译,完成!

相关推荐
liulilittle7 小时前
.NET ExpandoObject 技术原理解析
开发语言·网络·windows·c#·.net·net·动态编程
写完这行代码打球去13 小时前
你会用Github Copilot 吗 ——《内置功能详解》
github·copilot·visual studio
cpsvps13 小时前
VR协作海外云:跨国企业沉浸式办公解决方案
windows·架构·vr·etw事件
义薄云天us15 小时前
019_工具集成与外部API调用
数据库·人工智能·windows·microsoft·claude code
RainbowSea15 小时前
安装win10出现“计算机意外的重新启动或遇到错误。Windows安装无法继续。若要安装Windows,请单击“确定”重新启动计算机,然后安装系统。”
windows·后端
bug攻城狮15 小时前
理解Grafana中`X-Scope-OrgID`的作用与配置
windows·grafana
扛枪的书生17 小时前
AD 提权-NTLM 中继攻击(强制认证)
windows·渗透·kali·提权·域渗透
hqxstudying18 小时前
Java行为型模式---观察者模式
java·开发语言·windows·观察者模式
Damon小智20 小时前
玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)
windows·ai·mac·wsl·claude code·vibe code