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

相关推荐
10mAh1 小时前
【Java】ArrayList 遍历删除为什么报错?三种写法与漏删复现
java·开发语言·windows
瑶山4 小时前
Windows + WSL2 Ubuntu + VS Code配置C++开发环境
开发语言·c++·windows·vscode·wsl
在角落发呆5 小时前
一键脚本配置备份方法:从 Shell 脚本到自动备份
网络·windows
水饺编程5 小时前
第1章,[Win32 章节]:在 VS2019 里面安装 MSDN
c语言·c++·windows·visual studio
水饺编程6 小时前
第1章,[Win32 章节]:编程环境与 MSDN
c语言·c++·windows·visual studio
丨白色风车丨6 小时前
Python中JSON与字典/列表的相互转换详解
windows·python·json
瑶山6 小时前
Windows 11 一键安装命令安装 WSL2到D盘
windows·wsl
bug和崩溃我都要15 小时前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
kimloner15 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
摸鱼 特供版16 小时前
一款边录边标注的轻量截图录屏工具
windows·学习·电脑·音视频·软件需求