windows程序设计第一章学习笔记

现在c/c++语法基本语法学完,准备开始攻读windows编程(hehe,为了写游戏),同时开始学习c++数据结构,这是一件令人挑战的事,众所周知windows API繁多复杂,又涉及计算机各方面(数据结构,操作系统等),所以一定要耐下心来慢慢学,并且决定今天开始写blog以便整理一下自己的思路

参考书籍:<<windows程序设计>>(第五版) 作者:Charles Petzold

该章概要介绍了windows简史和动态链接,顺藤摸瓜了解了一下p1161的动态链接库的知识

DLL主要分3大模块Kernel,Gdi,User,winnt操作系统是32位的,所以在system目录下对应的为32位的Kernel32.dll,User32.dll,Gdi32.dll,而windows9x是16/32位的混合体,所以旗下不仅包含了上述3者,还包括Gdi.exe,User.exe,Kernl386.exe

该章中另介绍了程序入口点(WinMain)和1个API函数MessageBox

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
hInstance:实例句柄
hPrevInstance:32位的windows版本为NULL
lpCmdLine:用于运行程序的命令行
nShowCmd:显示方式(可以任意点击桌面上的一个快捷方式,右键点击属性在运行方式的下拉框中的常规,最小化,最大化便是传给WinMain的nShowCmd参数的值)

int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType)
值得注意的是:
hWnd为所有者窗体句柄
uType的默认值为MB_OK(值为0) | MB_DEFBUTTON1(值为0) | MB_APPLMODAL(值为0)

近有幸拜读了Charles Petzold的大作《Windows程序设计》,真有种相见恨晚的感觉。这是一本1999年出版、主要讲述在Windows平台下如何使用C语言调用API函数进行软件开发的老书。在当今RAD工具充斥市场的今天,该书依然是新手从事Windows下软件开发入门的不二之选。本人从事Windows平台软件开发已近三年,Windows相关的书籍和文档也阅读过不少,直到接触该书之后,好多以往含糊不清的概念才一下子豁然开朗。说到这里,不得不佩服Charles Petzold先生的文笔和才识,能够把windows程序开发知识讲解的如此简洁明了、浅显易懂。   第一章讲述的主要是些介绍性的、基础性的文字内容。   接触该书的先决条件是安装有Windows系统、了解C语言、安装有可进行Windows编程的开发环境。   Winows是支持抢占式多任务、多线程的图形操作系统。支持CUI(控制台用户接口)和GUI(图形用户接口)两种编程方式。所有基于GUI的Windows程序至少有一个窗口,支持鼠标和键盘控制,每一个时刻可以有多个Windows程序同时运行,互不冲突。   Winows运转的核心是一个被称作“动态连接”的概念。通过“动态连接”功能可调用Windows提供的系统函数即API,这些函数主要包含在Kernel.dll(包含内存管理、文件I/O、任务处理API函数)、User.dll(包含用户界面API函数)、GDI.dll(包含图形设备接口API函数)三个动态连接库中。以往调用C库函数,只要包含头文件,就可以将C库函数中的机器代码连接到我们的程序中;调用Windows API函数,除了需包含头文件,还需要一个对应的“导入库(import library)”文件,用以指明dll动态库的函数调用入口,而且dll动态库并不被连接到我们的程序中,只有在程序运行时,系统才将相应dll动态库载入到内存中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值