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!”。
世界真的很美好啊!!
你连答案也发啦,晕!
部落分享过多次G-core(gcorelabs)的产品及评测信息,以VPS主机为主,距离上一次分享商家的独立服务器还在2年多前,本月初商家针对迈阿密机房限定E5-2623v4 CPU的独立服务器推出75折优惠码,活动将在9月30日到期,这里再分享下。G-core(gcorelabs)是一家总部位于卢森堡的国外主机商,主要提供基于KVM架构的VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日...
BlueHost 主机商在以前做外贸网站的时候还是经常会用到的,想必那时候有做外贸网站或者是选择海外主机的时候还是较多会用BlueHost主机商的。只不过这些年云服务器流行且性价比较高,于是大家可选择商家变多,但是BlueHost在外贸主机用户群中可选的还是比较多的。这次年中618活动大促来袭,毕竟BLUEHOST商家目前中文公司设立在上海,等后面有机会也过去看看。他们也会根据我们的国内年中促销发...
今天有看到Raksmart账户中有一台VPS主机即将到期,这台机器之前是用来测试评测使用的。这里有不打算续费,这不面对万一导致被自动续费忘记,所以我还是取消自动续费设置。如果我们也有类似的问题,这里就演示截图设置Raksmart取消自动续费。这里我们可以看到上图,在对应VPS主机的【其余操作】中可以看到默认已经是不自动续费,所以我们也不要担心被自动续费的。当然,如果有被自动续费,我们确实不想续费的...