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

相关推荐
桌面运维家2 小时前
Windows vDisk云桌面:VOI架构优化部署实战
windows·架构
softshow10262 小时前
使用 Windows 子系统 WSL 安装 Ubuntu 22.04
linux·windows·ubuntu
L1624763 小时前
Windows 系统下 ZIP安装MySQL 详细操作步骤
数据库·windows·mysql
我先测了3 小时前
零第三方工具!Win10 自带磁盘管理给 C 盘扩容「纯官方」操作笔记
windows·笔记·扩容·c盘扩容
南知意-5 小时前
DLL修复#文件修复#运行库修复
windows·dll修复·运行库修复·修复工具
LegendNoTitle6 小时前
Windows和Linux下Rust-init、Cargo下载慢的解决
开发语言·windows·rust
亓才孓6 小时前
深浅拷贝--Java
java·开发语言·windows
刘一说7 小时前
Windows 与 Linux 跨平台自动化 MySQL 8 备份:专业级脚本设计与实战指南
linux·数据库·windows·mysql·自动化
MyBFuture8 小时前
C#表格与定时器实战技巧
开发语言·windows·c#·visual studio
小尧嵌入式9 小时前
c++红黑树及B树B+树
开发语言·数据结构·c++·windows·b树·算法·排序算法