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

相关推荐
嘴贱欠吻!1 天前
Kuikly搭建OpenHarmony教程01:源码构建与运行(Windows)
windows
2601_949480061 天前
Flutter for OpenHarmony 音乐播放器App实战 - 主题设置实现
windows·flutter
石像鬼₧魂石1 天前
内网渗透学习框架:五维金字塔
windows·学习
体面:1 天前
2026闲鱼监控助手
windows·经验分享
小雨青年1 天前
环境准备 Windows Mac 下 Docker Desktop 的安装与镜像源加速
windows·macos·docker
数据知道1 天前
一文掌握 MongoDB 详细安装与配置(Windows / Linux / macOS 全平台)
linux·数据库·windows·mongodb·macos
440资源库1 天前
从 Windows 转向 macOS:数据迁移完整指南
windows·macos·win向maos迁移数据
xmRao1 天前
Qt+FFmpeg 实现 Windows 音频采集
windows·qt·ffmpeg
njsgcs1 天前
ModelScope下载模型+ vLLM调用+内存释放
windows·wsl·vllm
黄美美分享1 天前
Windows自动化设置工具,无需编程让电脑自动工作!定时任务软件!打工人必备软件
运维·windows·自动化·电脑