资源大全 | 神秘文化 | 在线翻译 | QQ专区 | 视频教程 | 彩信频道 | 搜索引擎 | BT下载 |  | 网站地图
设为首页
加入收藏
联系站长
您现在的位置: 一百网络 >> 其他编程 >> C++编程 >> 文档正文
最近更新
普通文档 C++对象布局及多态实现之
普通文档 C++程序设计从零开始之语
普通文档 C++对象布局及多态实现之
普通文档 C++入门解惑——浅析cou
普通文档 C++编程人员容易犯的10个
普通文档 C++箴言:谨慎使用私有继
普通文档 C++程序设计从零开始之语
普通文档 C++对象布局及多态实现之
普通文档 C++程序中导出Word文档简
普通文档 C++箴言:理解隐式接口和
推荐文章
推荐文档 专家教您如何在C语言中巧
推荐文档 详细解析C++编写的ATM自
推荐文档 C++编程中的四个调试小技
推荐文档 Windows下C语言网络编程
推荐文档 Visual C++常用数据类型
推荐文档 COM组件设计与应用之实现
推荐文档 利用VC实现图像的特殊显
Windows下C语言网络编程快速入门

文章作者:佚名 录入时间:2006-6-2 来源:不详
网站声明:本站的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出处和原始作者,文章版权归本网站与文章作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。


C语言的学习,一般的方式是,先学C,然后是C++,最好还要有汇编语言和微机原理基础,然后才是Visual C++。这样的方式,对学习者来说,要花费很多时间和耐力。而在学校教学中,也没有时间深入学习Windows编程的实用技术了。

其实,具有了C语言基础后,再有一些基本的C++类的概念,就可以直接学习Windows C编程了。

一、走近Windows C语言

很多语言都把显示一个“Hello,World!”做为第一个入门程序,C语言的第一个程序是这样的:

#include<stdio.h>

main()

{

 printf(“Hello,World!”);

}


如果把main函数写成带参数的main函数,应该是:

#include<stdio.h>

main(int arge,char *argv[])

{

 printf(“Hello,World!”);

}


Windows C的第一个程序和这个程序在形式和原理上都是一致的,只是有两点不同:

1. 主函数接收的形参不只是命令行中的字符串的个数和字符串的首地址。

2. C语言的很多函数在Windows C中都可以继续使用,但象printf()屏幕显示等函数就不能继续使用了。因为Windows是多任务操作系统,屏幕已不再为某一个应用程序所独有,Windows C应用程序要显示字符串,需要使用Windows提供的API函数,开自己的窗口。

下面是一个最简单的,显示“Hello,World!”的Windows C程序:

#include<windows.h>

APIENTRY WinMain

(HINSTANCE hInstance,HINSTANCE hPrevInstance,

LPSTR lpCmdLine,int nCmdShow)

{

MessageBox(NULL,"Hello,World!",

"第一个Windows C程序",MB_OK|MB_ICONASTERISK);

}


主函数的形参有四个:

1) Hinstance:接收程序运行时当前实例的句柄;

2) HprivInstance:前一个实例的句柄;

3) LpCmdLine:程序命令行指针;

4) NcmdShow:一个用来指定窗口显示方式的整数。

这几个参数的使用我们会在深入的学习中介绍的。显示Hello,Word!字符串,我们使用了一个MessageBox函数,这个函数会在屏幕上显示一个对话框,它的原型是:

int MessageBox(HWND hWnd,LPCTSTR lpText,

LPCTSTR lpCaption,UNIT uType)


四个参数分别是:

1) HWnd:父窗口的句柄;

2) LpText:要显示字符串的指针;

3) LpCaption:对话框标题字符串的指针;

4) UType:显示在对话框上的小图标的类型。

使用这个函数要包含windows.h头文件。调试一下,怎么样?窗口上弹出了一个“第一个Windows C程序”对话框,上面有一行字:“Hello,World!”。世界真的很美好啊!

深入编程:

在C语言中,函数的声明,如果没有指明返回值类型,缺省值为void,这个程序的主函数就没有返回值。不过,在Windows编程时,我们最好养成个好习惯,指明函数的返回值类型,因为在C++中,函数返回值类型是不可以缺省的。而我们在Windows C编程时,还是会用到C++的一些概念,这样做,有利于以后深入地学习。规范一点的程序应该是这样的:

#include<windows.h>

int APIENTRY WinMain

(HINSTANCE hInstance,HINSTANCE hPrevInstance,

LPSTR lpCmdLine,int nCmdShow)

{

MessageBox(NULL,"Hello,World!","第一个Windows C程序",MB_OK|MB_ICONASTERISK);

return 0;

}


这里,我们声明的类型为int型,并且返回一个值0,这样的函数就可以使用在复杂一点的函数调用中了。

在本文中,我们有几处都提到了句柄的概念,句柄和指针的概念不同,它是作为操作系统内部索引表中的一个值来使用的,这样可以防止应用程序直接访问名对象的内部结构,体现了Windows资源管理的优越性。

譬如说,一个窗口找开之后,好对应内存中的一个内存块,这个窗口所在的内存快地址往往会由操作系统做动态的调整,但其却不会随之变化。不过,通过它可以访问这个窗口,所以在使用的时候,可以把它当做指针一样看待。

  • 上一篇文档:

  • 下一篇文档:
  •     查找更多“Windows下C语言网络编程快速入门”的内容  
    相关连接
  • C++对象布局及多态实现之带虚函数的类

  • C++程序设计从零开始之语句(1)

  • C++对象布局及多态实现之动态和强制转换

  • C++入门解惑——浅析cout

  • C++编程人员容易犯的10个C#错误(1)