没有合适的资源?快使用搜索试试~ 我知道了~
首页用C语言设计Win32程序
用C语言设计Win32程序
需积分: 10 10 下载量 122 浏览量
更新于2023-03-16
评论
收藏 890KB DOC 举报
用C语言设计Win32程序,本书以实用实例作为编程指导,指引大家编写真正实用的程序。了解到大家对黑客程序、病毒、窗口类程序比较感兴趣,因此我就拿这些实例进行讲解。基于大家基本都用Windows XP SP3,我也就在这个系统上把程序调试成功后再给大家讲解。编程环境,我还是喜欢Visual C++ 6.0 本书计划从四个大的方面来讲,这四个方面是:窗口类、文件操作类、网络类、数据库类。 都是时下流行的编程必备技术,也是软件开发者,必须掌握的技术。中间以实例讲解,逐步学习,相信大家看完后会有很大的提高的。
资源详情
资源评论
资源推荐
14
用 C 语言设计 Win32 程序(附 C 语言设计 QQ 登陆界面实例)
C 语言的基本语法我是不打算再提了,很多 C 语言编程的书,就是将一些基本的数据类型、数据结
构、语法,然后就是一些数值计算的实例,大多数都是雷同的,难免有抄袭之嫌,而且也没有多少实用
价值。
本书以实用实例作为编程指导,指引大家编写真正实用的程序。了解到大家对黑客程序、病毒、窗口
类程序比较感兴趣,因此我就拿这些实例进行讲解。基于大家基本都用 Windows XP SP3,我也就在这个
系统上把程序调试成功后再给大家讲解。编程环境,我还是喜欢 Visual C++ 6.0
本书计划从四个大的方面来讲,这四个方面是:窗口类、文件操作类、网络类、数据库类。
都是时下流行的编程必备技术,也是软件开发者,必须掌握的技术。中间以实例讲解,逐步学习,相信
大家看完后会有很大的提高的。
第一章 窗口类程序的编写
这一章就先来讲解下窗口类程序的编写。因为现在程序没有界面,就像人没有脸面一样,而且好的
界面更能吸引人。从基本的界面开始,相信能给大家指明出一条路的,使大家很容易地掌握窗口序的编
写。其实界面设计利用 VC 6.0 的 MFC,很容易地制作出来。这里从底层开始写代码来写界面程序,使大
家知道一些底层的东西,为以后学习打下好的基础,相信您学了这些,再用 VC 的 MFC 会得心应手的。
1.1 用 C 写的第一个一个窗口程序
作为编程的开始,我们还是以一个 Hello World 来开始我们的学习之旅。代码如下:
#include <stdio.h>
void main()
{
printf("Hello World!");
}
这是一个再简单不过的 C 程序了,只要有点 C 语言的知识就能够懂的,不过这里估计还有些人,到现在
还不知道#include
<stdio.h>中的头文件 stdio.h 到底是什么东西,我就来说下了,stdio.h 是一个文本文件,存在于磁盘上的,
已 VC 为例它的位置如下图:
14
也许你听说过 printf()函数是在 stdio.h 中预定义的,但是你见过其定义的形式没有,没有且看下图
其定义形式,就如图中所示,也许你并不懂前面那些东西是什么,不用担心,以后我会慢慢解释给大家的。函数是
先定义才能使用的,所以 stdio.h 中定义 printf 函数,我我们在引用了 stdio.h 头文件后就可以在程序中调用 printf 函
数了。
上面是在命令行中显示一个“Hello World!,没什么意思,下面我写一个窗口程序,显示个 Hello World!
14
#include <windows.h>
void main()
{
MessageBox(NULL," Hello World!","我的第一个窗口程序",MB_OK);
}
编译运行后如下图:
弹出的是一个对话框,上面有 Hello World,还有一个标题和一个“确定”按钮。
当然你会说这对话框也算个窗口吗?这里肯定的告诉你:是的,对话框是窗口程序的一个子集。你可能还会这样问
这样一个简单的窗口有啥用呢,其实这样的窗口非常有用,我们在操作计算机的时候,会出现一些警告或提示的对
话框,都是基本是这种方法写出来的。就算是这个很简单,学习本来不就是由易向难,由浅显深奥去的过程吗。
整个效果几乎就是靠一个函数 MessageBox 的功劳。这里也先不介绍这个函数了,说些其他的。
其实用 C 编写一些程序,就是把编程环境中所提供的一些函数熟悉了基本就可以了。用 VC 来写成序,其中的头文
件有很多,定义了很多 Windows API 函数 、数据结构、宏,可以让我们大家运用,通过它们,我们可以快速开发
出使用的程序。这些 Windows API 在微软的 MSDN 上查,上面有很多说明,部分还有代码示例。不会是可以输入
函数名,查找相关信息,建议大家用英文版的 Library,因为其内容比中文版的全面,英语不好的同学呢,就先看中
文了
中文 MSDN: http://msdn.microsoft.com/library/zh-cn/
英文 MSDN: http://msen.micorsoft.com/library/en-us/
到这里,我们就完成第一个有界面程序的编写,你感觉写有界面的程序难吗?显然不难。
下面看一个向锋和波波感兴趣的程序:九九乘法
采用命令行形式
#include “stdio.h”
int i=0,j=0;
for(i=1;i<10;i++)
for(j=1;j<i+1;j++)
printf(“%d*%d=%d \t”,j,i,j*i);
printf(“\n”);
和那个 javascript 效果都是一样的,所以语言只要学好一样,其他的就很容易旁通的,学习就捡一种学好,不要贪
多。
好的,这一节就这样吧,大家先各自了解下微软的 MSDN,对以后的学习会有很大的帮助的。
1.2 第一个真正的窗口程序
上一节中,我们用 MessageBox 函数轻松地实现了一个对话框窗口,可能你会说,那仅仅是个没有用的对话框而已,
14
是的,只是对话框而已。我之所以以一个对话框为例呢,是因为我只是想让你知道写一个有界面的程序并不是件难
办的事。明白了这一点后,我们继续。今天来编写一个真正的窗口程序。
下面就该罗嗦一段了,由于大家以前并没有写过什么窗口程序,写的都是命令行下的,我们知道在命令行下的程序
都有一个主函数 main,这个函数也就是程序的入口函数。我们现在用 VC 6.0 来写,而且要写窗口类程序,VC 6.0
给我们提供了一个专门用作窗口类程序的入口函数 WinMain()
这个函数原型是这样的
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTRlpCmdLine,
int nCmdShow
);
大家是不是感觉这个函数挺复杂的,有这么几个参数,而像 main 好像就没有参数。其实 main 是有参数,
这个向锋和小四是知道了的。但是 main 函数的参数是可以省略的,而 WinMain 是不可以省的。这里也要对
VC 6.0 的编译模式改下
看下图
依次 是“工程”→“设置”→“连接”,在“工程选项”里把 console 改为 windows 就可以了。如果认真学了汇编,或
是手写命令编译连接过 C 程序,就会知道这是干什么的。Console 是控制台的意思,以前我们用 mian 函数写
的程序都是以控制台模式连接的,所以很少会有界面的。现在我们要写有界面的程序,所以要选 Windows(窗
口)模式了。
我们写入以下代码,并按照上面说的方法去做,看看结果
#include "windows.h"
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPreInstance,
LPSTR lpCmdLine,
int nShowCmd)
14
{
MessageBox(NULL,"WinMain 创建的窗口程序","WinMain",MB_OK);
return 0;
}
结果如下图:
与第一节中的这段代码代码比较下
#include “windows.h”
void main()
{
MessageBox(NULL," Hello World!","我的第一个窗口程序",MB_OK);
}
剩余63页未读,继续阅读
YYWen000
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0