#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相反。