Windows程序设计实现hello world

来源:互联网 发布:淘宝大件退货 编辑:程序博客网 时间:2024/04/29 19:23

一:Visual C++ Developer Studio中创建程序的机制

1:从File菜单中选择new,单击Project,选择Win32 Application;在location中选择一子目录,在Project Name中输入项目名称,选中Create New Workspace单选按钮,Platform说部分指明Win32,选择OK,选择Empty Project,按下Finish按钮(此时完成一个空的工程的建立);

2:从file菜单中再次选择New,单击Files标签,选择C++ SourceFile,(选中Add to Project复选框,并指明HelloMsg),在File Name中输入HelloMsg.c,选择Ok。

3:输入源文件;

头文件:#include <window.h>

(1)window.h是主要的包含文件,包含了其他的Windows头文件,这些头文件的某些也包含了其他的头文件。常用的头文件有:

WINDEF.H 基本类型定义;

WINNT.H 支持Unicode的类型定义;

WINBASE.H内核函数

WINUSER.H 用户借口函数;

WINGDI.H 图形设备接口函数;

这些头文件定义了Windows的所有的数据类型,函数调用,数据结构,和常用的标识符;是Windows文档的一个重要部分;

(2)程序入口点

正如C程序的入口点是函数main一样,Windows程序的入口点是WinMain,

出现格式:

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPreInstance,

                   PSTR szCmdLine, int iCmdShow)

补充:匈牙利表示法的命名系统

在变量名称前增加表示变量数据类型的短前缀(i表示int,sz表示“以零结束的字符串”);

WinMain函数返回一个Int值;

(3)各个参数代表的含义和用法

第一个参数hinstance:

为“实例句柄”,句柄是一个应用程序用来识别某些事情的数字,用来唯一的标示改程序;其他的Windows函数,需要该句柄作为参数调用该程序。

第二个参数hPrevlnstance:

Win16版本中通过检查hPrevInstance参数确定自身的其他实例是否正在运行;(Win32中此概念已被抛弃,该参数总为Null);

第三个参数lpCmdLine:

用于运行程序的命令行;在程序启动时将文件加载到内存

第四个参数nShowCmd:

指出程序最初显示的方式(正常,最大化,或最小化);

(4)MessageBox函数

用来显示短消息,其不具有什么功能,实际上是一个对话框;

其各个参数表示的含义:

第一个参数:窗口句柄

第二个参数:TEXT("Hello,Windows98!")

在消息对话框主题显示的字符串;

第三个参数:TEXT("helloMsg")

在消息框标题栏上的字符串;(这些字符串被封装在一个叫“TEXT”宏中)

第四个参数:

是在WINUSER.H中定义的一组以前缀MB_开始的常数的组合,选择一个常数以指出希望在对话框中显示的按钮;

若设置为0则仅显示OK按钮。

(5)编译,链接和运行

编译阶段,编译器从C源代码文件中生成一个.OBJ文件;

链接阶段,链接程序,结合.OBJ和.LIB(库)文件建立.EXE文件。