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

相关推荐
John_ToDebug31 分钟前
浏览器扩展延迟加载优化实战:如何让浏览器启动速度提升50%
c++·chrome·windows
蟑螂恶霸1 小时前
Windows安装OpenCV 4.8
人工智能·windows·opencv
特立独行的猫a3 小时前
在 Windows 10 上安装和使用 WSL 2 安装 Ubuntu24详细指南
windows·ubuntu·wsl2
奋斗的老史6 小时前
Stream-流式操作
java·windows
m0_488633326 小时前
Windows环境下编译运行C语言程序,合适工具与方法很关键
c语言·windows·git·开发工具·编译器
春日见6 小时前
云服务器开发与SSH
运维·服务器·人工智能·windows·git·自动驾驶·ssh
bloglin999999 小时前
windows中粘贴拷贝文件不会显示进度条,尤其是大文件
windows
xyyaihxl11 小时前
Redis 安装及配置教程(Windows)【安装】
数据库·windows·redis
CHQIUU12 小时前
解决VMware ESXi虚拟机挂载ISO后无法进入安装程序的问题
windows
qq_1728055913 小时前
WSL 完整教学文档(Windows Linux 子系统)
linux·运维·windows·wsl