WIN API -- 2.Hello World

 

    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 将同时显示按钮及图标。

WIN API -- 2.Hello World

上一篇:Darwin Streaming Server 6.0.3安装、订制、插件或模块


下一篇:WPF 中关于 DataTemplateSelector 类的应用