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




