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!”。
世界真的很美好啊!!
你连答案也发啦,晕!
可以看到这次国庆萤光云搞了一个不错的折扣,香港CN2产品6.5折促销,还送50的国庆红包。萤光云是2002年创立的商家,本次国庆活动主推的是香港CN2优化的机器,其另外还有国内BGP和高防服务器。本次活动力度较大,CN2优化套餐低至20/月(需买三个月,用上折扣+代金券组合),有需求的可以看看。官方网站:https://www.lightnode.cn/地区CPU内存SSDIP带宽/流量价格备注购...
IonSwitch是一家2016年成立的国外VPS主机商,部落上一次分享的信息还停留在2019年,主机商提供基于KVM架构的VPS产品,数据中心之前在美国西雅图,目前是美国爱达荷州科德阿伦(美国西北部,西接华盛顿州和俄勒冈州),为新建的自营数据中心。商家针对新数据中心运行及4号独立日提供了一个5折优惠码,优惠后最低1GB内存套餐每月仅1.75美元起。下面列出部分套餐配置信息。CPU:1core内存...
搬瓦工怎么样?这几天收到搬瓦工发来的邮件,告知香港pccw机房(HKHK_1)即将关闭,这也不算是什么出乎意料的事情,反而他不关闭我倒觉得奇怪。因为目前搬瓦工香港cn2 GIA 机房和香港pccw机房价格、配置都一样,可以互相迁移,但是不管是速度还是延迟还是丢包率,搬瓦工香港PCCW机房都比不上香港cn2 gia 机房,所以不知道香港 PCCW 机房存在还有什么意义?关闭也是理所当然的事情。点击进...