Windows消息机制

Windows GUI系统的核心是基于回调函数的消息轮询机制,它通过消息循环和窗口过程实现了事件驱动的编程模型,窗口过程函数是回调函数,操作系统在接收到与窗口相关的消息(如鼠标点击、键盘输入、窗口绘制等)时会调用它,并将消息作为参数传递给它。

Windows API的主函数:

cpp 复制代码
int WINAPI WinMain(
    HINSTANCE hInstance,        ///表示当前应用程序实例句柄(Handle to an Instance)
    HINSTANCE hPrevInstance,    ///前一个实例句柄(通常为NULL)
    LPSTR     lpCmdLine,        ///命令行参数
    int       nCmdShow          ///窗口显示方式(隐藏、最大化...)
)

#define WINAPI _stdcall

在C++中,默认的函数调用约定是_cdecl

_stdcall:栈清理由被调用函数负责,对于同一个函数,多次调用时,栈清理代码只会存在于被调用函数内部,只有一份

_cdecl:栈清理由调用方负责,对于同一个函数,多次调用时,每次调用都会生成一份栈清理代码,因此栈清理代码会多次出现,兼容性更好

LPCTSTR:表示指向常量TCHAR字符串的指针

TCHAR是一个通用的字符类型,根据编译设置(Unicode活多字节字符集)自动映射为char或wchar_t

相关推荐
阿白的白日梦19 小时前
winget基础管理---更新/修改源为国内源
windows
埃博拉酱5 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清21885 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
tryCbest5 天前
Windows环境下配置pip镜像源
windows·pip
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
百事牛科技5 天前
保护文档安全:PDF限制功能详解与实操
windows·pdf
一个人旅程~5 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑
一个假的前端男6 天前
[特殊字符] Flutter 安装完整指南 Windows—— 2026最新版
windows·flutter
倚肆6 天前
在 Windows Docker 中安装并配置 Nginx (映射 Windows 端口与路径)
windows·nginx·docker