#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance, //应用程序当前实例的句柄。
HINSTANCE hPrevInstance,//win16留下的废物现在已经不用了
LPSTR lpCmdLine,//命令行参数
int nCmdShow)//主窗口初始化时的显示方式
{
::MessageBox(NULL, L"hello word", L"first", MB_OKCANCEL);
/*
int WINAPI MessageBox(
HWND hWnd, 此参数代表消息框拥有的窗口。如果为NULL,则消息框没有拥有窗口。
LPCTSTR lpText, 消息框的内容。如果使用了Unicode库,则把文本变成L""或者TEXT(""):
LPCTSTR lpCaption,消息框的标题。如果使用了Unicode库,则把文本变成L""或者TEXT(""):
UINT uType 指定一个决定对话框的内容和行为的位标志集。
此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。
);
*/
return 0;
}
此程序会弹出一个简单的消息框显示hello world。其中WinMain函数相当于以前的main函数(入口函数)。
#define WINAPI__stdcall
WINAPI 的意思是_stdcall 调用方式
他的意思的:
1、进行函数调用,函数参数的入栈方式是最右边先入栈。
2、同时__stdcall规定,被调函数负责栈的回收(调用者只负责压栈). 题外话:__pascal的调用规则是从左到右,正好与__stdcall相反。