WIN API -- 2.Hello World

 

    Win32 版的 hello world 程序也包括include声明、一个程序进入点、一个return语句等组成,如:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nShowCmd )
{
    MessageBox(NULL,TEXT("hello,world"),TEXT("title"),0);
    return 0;
}
程序解析
#include <windows.h>
 

windows.h是主要的包含文件,此文件也包含了其他一些文件,比如:

windef.h    :用于基本形态定义

winnt.h     :支持unicode形态定义

winbase.h :kernel函数

winuser.h :使用者接口函数

wingdi.h   :图形设备接口函数

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nShowCmd )

程序进入点,其中:

#define  WINAPI  __stdcall

第一个参数:执行实体句柄,用于标识此程序

第二个参数:已弃用

第三个参数:启动程序的命令列

第四个参数:程序最初显示方式,如最大化、最小化等

MessageBox(NULL,TEXT("hello,world"),TEXT("title"),0);

用于显示信息

第一个参数:窗口句柄,后续介绍

第二个参数:要显示的内容

第三个参数:窗口标题

第四个参数:要显示的按钮、图标等组件

MessageBox中常用的组件有以下几类,这几类组件可混合使用,使用中用”|“符号连接,如:MB_OK | MB_ICONERROR。

按钮类:

#define MB_OK 0x00000000L
#define MB_OKCANCEL 0x00000001L
#define MB_ABORTRETRYIGNORE 0x00000002L
#define MB_YESNOCANCEL 0x00000003L
#define MB_YESNO 0x00000004L
#define MB_RETRYCANCEL 0x00000005L

自定义按钮类:

#define MB_DEFBUTTON1 0x00000000L
#define MB_DEFBUTTON2 0x00000100L
#define MB_DEFBUTTON3 0x00000200L
#define MB_DEFBUTTON4 0x00000300L

图标类:

#define MB_ICONHAND 0x00000010L
#define MB_ICONQUESTION 0x00000020L
#define MB_ICONEXCLAMATION 0x00000030L
#define MB_ICONASTERISK 0x00000040L

图标别名:

#define MB_ICONWARNING MB_ICONEXCLAMATION
#define MB_ICONERROR MB_ICONHAND
#define MB_ICONINFORMATION MB_ICONASTERISK
#define MB_ICONSTOP MB_ICONHAND
原文地址:https://www.cnblogs.com/mutou3221/p/4203872.html