一、Win32 创建项目
使用的是Visual Studio2022
控制台程序 Console
DOS程序,没有窗口,通过Windows DOS窗口执行
窗口程序
拥有自己的窗口,可以与用户交互
库程序
存放代码、数据的程序,执行文件可以从中取出代码执行和获取数据
静态库程序:扩展名LIB,在编译链接程序时,将代码放入到执行文件中(没有入口,无法写入内存)
动态库程序:扩展名DLL,在执行文件执行时从中获取代码(有入口,可无法自己运行)
一下创建窗口程序:
![在这里插入图片描述](https://img-blog.csdnimg.cn/8006a35d24624edca5710fb71f3d883d.pn
属性->高级->字符集 设置为使用多字节符集
创建C++ 文件
2.第一段代码
#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
//HINSTANCE hInstance实例句柄-用来标识我们这个程序(句柄:是一个是用来标识对象或者项目的标识符,可以用来描述窗体,文件等,值得注意的是句柄不能是常亮)
//HINSTANCE hPrevInstance 当前程序前一个实例句柄,可以把一些数据从前一个实例搬到自己的数据区来
//PSTR szCmdLine 是用来运行程序的命令行(Command Line)有些windows程序启动时用它来把文件装入内存
//int iCmdShow 窗体的大小如何展示
MessageBox(
NULL, //父窗口句柄
TEXT("Hello World!"), // 内容
TEXT("标题!"), // 标题名称
//们把所有的字符串都打包到 TEXT 宏代码里面,就是用TEST("XXX")把它包裹起来。一般来说,并不需要把所有的字符串都打包到
//TEXT 宏代码里面,之所以这样做是因为这样在把程序转换成 Unicode 时会方便很多。
MB_OKCANCEL); //消息框中的按钮、图标显示类型
//#define MB_OK 0X00000000L // ok
//#define MB_OKCANCEL 0x00000001L // ok和取消
//#define MB_ABORTRETRYIGNORE 0x00000002L // 中止、重试和取消
//#define MB_YESNOCANCEL 0x00000003L // yes/no/取消
//#define MB_YESNO 0X00000004L // yes和no
//#define MB_RETRYCANCEL 0x00000005L // 重试和取消
return 0;
}