windows关于“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 __stdall
第一个参数:执行实体句柄,唯一标识该程序。用于同一程序的多次同时运行。
第二个参数:已弃用
第三个参数:启动程序时传入的命令行
第四个参数:程序初始时显示方式。最大化、最小化等
MessageBox(NULL,TEXT("hello,world"),TEXT("title"),0);
用于显示信息。
返回值:IDOK、IDYES、IDNO、IDCANCEL、IDRETRY、IDIGNORE等值。
第一个参数:窗口句柄,暂不介绍
第二个参数:要显示的字符串;鼓励将字符串封装在TEXT()宏中,以支持UNICODE字符集
第三个参数:标题
第四个参数:要显示的按钮,可取值有:
按钮类:
#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 #if(WINVER >= 0x0400) #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
以上几类通过可通过”|“符号混合使用,如 MB_OK | MB_ICONERROR 将同时显示按钮及图标。