
VC++
文章平均质量分 81
zhangxinrun_业余erlang
这个作者很懒,什么都没留下…
展开
-
清除代码异味
今天,Venkat Subramaniam 就关于清除代码异味的话题给我们做了一个非常有趣的演讲。下面就是我记录的一些他的话。 为什么我们需要有质量的代码?敏捷开发方法是用来应付那些要求代码做大量改动的反馈信息的方法。 如果程序没有用一种好的表达方式来表现,那程序会很难读,难维护,难修改。 什么是代码异味?代码异味是一种由写的很差的代码引起的一种转载 2011-06-11 10:32:00 · 1016 阅读 · 0 评论 -
MFC中的ClassWizard的使用
<br />前面我们利用AppWizard创建了一个应用程序框架,它除了显示一个Windows的多文档界面以外,目前还没有任何实际的用处,我们必须为它添加实际的功能。事实上,大多数Visual C++程序员都是在这个应用程序框架的基础上从事添加各种功能模块的工作,包括设计自己的类,编写具有一定功能的成员函数。<br />Visual C++的集成开发环境向用户提供了一个功能很强的操作类的工具—ClassWizard,我们可以利用该工具非常方便地向应用程序中添加类、向类中添加消息处理函数、成员函数、以及添加成转载 2010-08-19 15:33:00 · 909 阅读 · 0 评论 -
Windows SDK笔记(经典--一定要看)
<br />Windows SDK笔记(一):Windows程序基本结构<br />一、概述<br />Windows程序具有相对固定的结构,对编写者而言,不需要书写整个过程,大部分过程由系统完成。<br />程序中只要按一定的格式填写系统留给客户的那一小部分。<br />所需要完成的有:<br />窗口类的定义、窗口的建立、消息函数的书写、消息循环。<br /> <br />二、消息处理函数<br />Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。没个窗口都有一个消息处理转载 2010-08-18 14:13:00 · 1388 阅读 · 0 评论 -
6.1 传统控件
<br /><br />在上一课的表5.1已经列出了Windows的传统控件及其对应的控件类。在这些控件中,读者应该重点掌握命令按钮、选择框、单选按钮、编辑框、列表框和组合框。<br /> .1.1 传统控件的控件通知消息<br /> 控件通过向父窗口发送控件通知消息来表明发生了某种事件.例如,当用户在按钮上单击鼠标时,按钮控件会向父窗口发送BN_CLICKED消息.传统控件的通知消息实际上是通过WM_COMMAND消息发给父窗口的(滚动条除外),在该消息的wParam中含有通知消息码(如BN_CLICK转载 2010-08-19 09:44:00 · 1944 阅读 · 0 评论 -
VC++非MFC项目中如何使用TRACE宏
<br />记得原来尝试学MFC的时候觉得有一个TRACE可以在Debug时向VS的调试输出窗口输出字串符,用来调试时跟踪变量很方便。<br />然则如果不是MFC项目或者ATL的项目的话是不能使用这个宏的。这时有一个没有什么额外消耗的办法能够做到向调试输出窗口输出。<br />在项目中额外包含windows.h这个头文件,再使用OutputDebugString()这个函数就能够起到与TRACE()宏相同的效果。在进行一点包装就能和c中的printf一样接受不定项参数。<br />下面程序做为范例。<br转载 2010-08-18 14:18:00 · 5783 阅读 · 0 评论 -
MFC技术内幕系列之(四)---MFC消息映射与消息传递内幕
<br /> ////////////////////////////////////////////////////////////////////////////////////<br /> /********* 文章系列:MFC技术内幕系列***********/<br /> /************MFC技术内幕系列之(四)***********/<br />转载 2010-08-08 18:26:00 · 882 阅读 · 0 评论 -
MFC技术内幕系列之(二)---MFC文档视图
<br /> ////////////////////////////////////////////////////////////////////////////////////<br /> /********* 文章系列:MFC技术内幕系列***********/<br /> /************MFC技术内幕系列之(二)***********/<br /> /**转载 2010-08-08 18:24:00 · 1018 阅读 · 0 评论 -
MFC中单文档中m_pMainWnd的初始化
<br /><br />找了很多地方都没有找到单文档的初始化,今天我自己来找。。 <br /> <br />工具<br />: UltraEdit, VS2005, AJC Grep 1.1.1 试用版, <br /> <br />参考文献<br />:深入浅出MFC <br /> <br />目标<br />:找到m_pMainWnd的赋值的地方 <br /> <br />m_pMainWnd<br />定义于 <br /> <br /><br />C:/Program Files/Microsoft V转载 2010-08-08 18:23:00 · 4896 阅读 · 0 评论 -
MFC单文档视图穷追猛打
<br /> <br />目录<br /> <br /><br /> <br />第一章找回WinMain函数 2<br />第二章InitApplication()函数 2<br />第三章InitInstance ()函数 3<br />第一节:new CSingleDocTemplate 3<br />第二节:AddDocTemplate(pDocTemplate); 5<br />第三节:ProcessShellCommand(cmdInfo) 5<br />第一段AfxGetApp()->OnCm转载 2010-08-08 18:22:00 · 1032 阅读 · 0 评论 -
剖析MFC六大关键技术(五六)--消息映射与命令传递
<br />说到消息,在MFC中,“最熟悉的神秘”可算是消息映射,那是我们刚开始接触MFC时就要面对的东西。有过SDK编程经验的朋友转到MFC编程的时候,一下子觉得什么都变了样。特别是窗口消息及对消息的处理跟以前相比,更是风马牛不相及的。如文档不是窗口,是怎样响应命令消息的呢?<br /><br />初次用MFC编程,我们只会用MFC ClassWizard为我们做大量的东西,最主要的是添加消息响应。记忆中,如果是自已添加消息响应,我们应何等的小心翼翼,对BEGIN_MESSAGE_MAP()……END_M转载 2010-08-08 18:18:00 · 1142 阅读 · 0 评论 -
深入MFC中WM_COMMAND命令消息的传递
<br />我们都知道,MFC将windows消息系统进行了高度的抽象和封装,其根本原理是运用C++的高级特性并结合一定的设计模式(如工厂模式,模板方法等)来实现的。一般的windows消息(WM_XXX),则一定是由派生类流向基类,没有旁流的可能。如果是命令消息(WM_COMMAND),那就有比较奇特的路线了。下面就针对多文档/单文档(Document-View)、对话框两种应用程序比较讨论WM_COMMAND消息的传递处理过程。讨论前首先得明确命令消息的来源,命令消息一般是用户选择某个菜单项,或一个加速转载 2010-08-08 18:17:00 · 9459 阅读 · 0 评论 -
深入分析MFC文档视图结构(经典)
<br />文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Document/View Architecture的MFC程序框架,Document/View Architecture本身的复杂性加上VC产生的一系列代码足够让我们眼花缭乱,一时陷入云转载 2010-08-08 18:16:00 · 1014 阅读 · 0 评论 -
CPaintDC、CClientDC、CWindowDC和CMetaFileDC类的主要特点及区别-Windows绘图基础知识
<br />一、设备环境(DC)的概念<br />(1)在Windows中,显示工作是基于设备环境的。所谓设备环境(DC)是一种Windows数据结构,该结构包含应用程序设备输<br />出时所需要的信息。<br />(2)在使用任何绘图函数之前必须建立一个设备环境对象。<br />(3)在Visual C++ 6.0的MFC中提供了设备环境类CDC,它封装了绘图所需要的所有函数,其中包括了大多数的Windows API中<br />的GDI函数。 <br />二、几个设备环境类主要特点<br />1. C转载 2010-08-21 18:53:00 · 2783 阅读 · 0 评论 -
客户区和非客户区指的什么?窗口客户区和视图客户区的区别
1,什么是客户区/非客户区?2, 窗口(框架/frame)的客户区和视图(view)的客户区的区别? 1,在一个MDI(多文档)应用程序中每个概念如下图所标示:效果如下图1,窗口框架的客户区就是指图中的灰色部分:即蓝色方框内区域,框架的非客户区就是指蓝色方框之外的窗口区域,包括程序图标,标题栏,菜单,最大最小/关闭按纽,左右两个框和底下的状态条.2,视图的客户区就是指图中绿色部分:即红色方框内的区域,视图的非客户区就是指视图部分红色方框之外的区域,包括:文件图标,标题栏,三个按纽和两个滚动条.3,从图中可以转载 2010-08-21 18:54:00 · 1518 阅读 · 1 评论 -
PE文件的基本结构-3 节表和RVA换算
<br />PE文件中所有节的属性都被定义在节表中,节表由一系列的IMAGE_SECTION_HEADER结构排列而成,每个结构用来描述一个节,结构的排列顺序和它们描述的节在文件中的排列顺序是一致的。全部有效结构的最后以一个空的IMAGE_SECTION_HEADER结构作为结束,所以节表中总的IMAGE_SECTION_HEADER结构数量等于节的数量加一。节表总是被存放在紧接在PE文件头的地方。<br />IMAGE_SECTION_HEADER结构的定义如下:<br />TISHMisc = pack转载 2010-08-24 18:51:00 · 1475 阅读 · 0 评论 -
PE文件的基本结构-1 总体介绍和dos头
<br />1 概论 <br />看历史;COM文件,EXE文件,LE格式的可执行文件(Linear executable/线性可执行文件),Windows 9x中的VxD驱动程序也使用LE格式,因为这些驱动程序中也同时包括16位和32位代码。<br />而在Windows 9x,Windows NT,Windows 2000下,纯32位的可执行文件都使用微软设计的一种新的文件格式——PE格式(Portable Executable File Format/可移植的执行体)。<br />PE文件的基本结构如转载 2010-08-24 18:49:00 · 1212 阅读 · 0 评论 -
Windows可执行文件简述(三)
4.LE格式<br />在Windows3.x的时代,从DOS启动Windows,Windows在把机器转到保护模式之前需要在实模式下做一些初始化。实模式的16位代码必须和32位代码一起放在可执行文件中。旧的DOS下的可执行文件和NE格式的可执行文件无法满足这个要求,于是从Win 3.x起到Win 9x,产生了一种新型的可执行文件格式LE,它只适用于工作于系统底层的、同时包含16位代码和32位代码的VxD驱动程序。OS/2 2.x也使用LE格式。<br /><br /> <br />一般而言,保护模式下的可转载 2010-08-24 18:48:00 · 824 阅读 · 0 评论 -
Windows可执行文件简述(一)
<br />操作系统中的文件是一种抽象的机制,提供了一种在磁盘上保存信息而且方便以后读取的方法。在Windows操作系统中,一个用户可以最直接体会到的文件的形式就是以.exe、.dll等为扩展名的可执行文件。伴随着Windows操作系统的不断进步,其可执行文件的格式也发生了巨大变化。这期间主要有4个过程:DOS中出现的最简单的以.com为扩展名的可执行文件和以.exe为扩展名的MZ格式(MZ是MZ格式的主要作者Mark Zbikowski的名字的缩写)的可执行文件,Win 3.x下出现的NE(New Exe转载 2010-08-24 18:42:00 · 1022 阅读 · 0 评论 -
PE文件的基本结构-4 导入表
<br />导入表的位置和大小可以从PE文件头中IMAGE_OPTIONAL_HEADER32结构的数据目录字段中获取,对应的项目是DataDirectory字段的第2个IMAGE_DATA_DIRECTORY结构,从结构的VirtualAddress字段得到导入表的RVA值。<br />导入表由一系列的IMAGE_IMPORT_DESCRIPTOR结构组成,结构的数量取决于程序要使用的DLL文件的数量,每个结构对应一个DLL文件,在所有这些结构的最后,由一个内容全为0的IMAGE_IMPORT_DESCR转载 2010-08-24 18:51:00 · 1049 阅读 · 1 评论 -
PE文件的基本结构-2 NT头
<br />1 PE文件头(NT文件头)<br />从DOS文件头的_lfanew字段(文件头偏移003ch)得到真正的PE文件头位置[$0000 0100]后,现在来看看它的定义,PE文件头是由IMAGE_NT_HEADERS结构定义的:<br />PImageNtHeaders = ^TImageNtHeaders;<br />_IMAGE_NT_HEADERS = packed record<br /> [$0100]Signature: DWORD;<br /> [$0104]FileH转载 2010-08-24 18:50:00 · 1287 阅读 · 0 评论 -
Windows可执行文件简述(二)
<br />如果PSP中的第一个FCB含有一个有效驱动器标识符,则置AL为00h,否则为0FFh。MS-DOS还置AH为00h或0FFh,这依赖于第二个FCB是否含有一个有效驱动器标识符。<br /><br /> <br />建造PSP后,MS-DOS在PSP后立即开始(偏移100h)加载com文件,它置SS、DS和ES为PSP的段地址,接着创建一个堆栈。为了创建这个堆栈,MS-DOS置SP为0000h。如果没有分配64K内存,则要置寄存器为比所分配的字节总数大2的值。最后,它把0000h推进栈,这是为了保转载 2010-08-24 18:47:00 · 745 阅读 · 0 评论 -
skin++ 终极破解之法
<br />*[标题]:Skin++通用界面换肤系统V2.0.1破解探讨<br />*[作者]:gz1X <gz1x(at)tom(dot)com> <br />*[来自]:中国黑客联盟<br />*[前言]:<br />skin技术,大家都不会陌生,比如winamp,可以灵活的更换界面风格。早期的实现定制的外观方法都需要程序本身做许多处理,编码太麻烦。<br />后来出现了专门的Skin插件,ActiveSkin什么的。再后来dll调用的skin软件出现,需要Skin支持的程序调用几个方法,就可以使自己的转载 2010-08-21 23:08:00 · 1883 阅读 · 0 评论 -
Visual c++中不使用对话框模板资源创建对话框应用
<br />引言<br />通常情况下,利用vc为应用程序创建对话框需要使用对话框模板资源。通过vc++集成开发环境中的对话框编辑器以可视化的方式创建对话框资源,这种方法可以应用于大多数对话框编程的情况下。但涉及对话框的程序模块必然依赖于开发项目资源,不能作为多个开发项目共享的公用程序模块。比如,笔者开发的一系列应用程序,都需要一个用户输入注册信息的功能。通常情况下,可以将公用程序模块引入不同的开发项目,而实际程序文件只有唯一的备份。这样便于程序的维护,避免公用模块存在多个不一致拷贝的情况。但如果在公用程序转载 2010-08-20 10:28:00 · 2443 阅读 · 0 评论 -
DDB与DIB的区别
<br />DDB(设备相关位图)<br />DDB依赖于具体设备:<br />DDB的颜色模式必需与输出设备相一致。例如,如果当前的显示设备是256色模式,那么DDB必然也是256色的。<br />在256色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板。<br />由于DDB高度依赖输出设备,所以DDB只能存在于内存中,它要么在视频内存中,要么在系统内存中 <br />DIB的与设备无关性主要体现在以下两个方面:<br />DIB的颜色模式与设备无关。例如,一个256色的DIB即可以转载 2010-08-21 20:54:00 · 820 阅读 · 0 评论 -
依赖于设备的位图(DDB) ,CreateCompatibleBitmap用法
<br />DDB(Device-dependent bitmap)依赖于具体设备,这主要体现在以下两个方面: <br /> <br />DDB的颜色模式必需与输出设备相一致。例如,如果当前的显示设备是256色模式,那么DDB必然也是256色的,即一个像素用一个字节表示。<br /> <br />在256色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板。<br /> <br /><br />由于DDB高度依赖输出设备,所以DDB只能存在于内存中,它要么在视频内存中,要么在系统内存中。<b转载 2010-08-21 20:51:00 · 2427 阅读 · 0 评论 -
Win32_API注册表类的编制以及使用
<br />一、问题的提出 <br /><br />Windows 已由原来的16位 windows 3.x 升级为现今我们使用的32位windows 95/97/98 <br />以其 Windows NT,用户不仅在使用上应逐步适应,对于程序开发人员来说在编程技术 <br />上也应紧跟操作系统的技术发展,就如同 在 Linux 操作系统下, X-Window 编程就显 <br />得很重要一样。作为一个完整成熟的 Windows 程序,需要保存程序所有的环境变量和 <br />私有信息。诸如用户的偏好转载 2010-08-08 18:13:00 · 854 阅读 · 0 评论 -
细说UI线程和Windows消息队列(经典)
<br /> 在Windows应用程序中,窗体是由一种称为“UI线程(User Interface Thread)”的特殊类型的线程创建的。<br /> 首先,UI线程是一种“线程”,所以它具有一个线程应该具有的所有特征,比如有一个线程函数和一个线程ID。<br /> 其次,“UI线程”又是“特殊”的,这是因为UI线程的线程函数中会创建一种特殊的对象——窗体,同时,还一并负责创建窗体上的各种控件。<br /> 窗体和控件大家都很熟悉了,这些对象具有接收用户操作的功能,它们是用户使用整个应用程转载 2010-08-08 18:11:00 · 1936 阅读 · 1 评论 -
VC++中的DDX和DDV
<br />DDX/DDV<br /> 通过使用ClassWizard向对话类添加成员变量,你可以利用ClassWizard所提供的高效特征,为对话数据交换和对话数据验证自动生成源代码,也就是人们所熟知的DDX/DDV。<br /> 数据交换和验证仅仅应用于为之选定了Value类别的成员变量。也就是CString,BOOL,数字,COleDateTime或COLeCurrency。<br /> 对话数据交换负责数据在控件中的进出。当对话首次出现的时候,每个控件窗口自动用相应的成员变量的值进转载 2010-08-08 18:06:00 · 3830 阅读 · 0 评论 -
MFC消息处理机制,Dlg程序的消息循环
第二部分: 对话框程序的消息循环机制实际上MFC的对话框工程程序就是模式对话框。他和上面讲到的非对话框程序的不同之处,主要在于应用程序对象的InitInstance()不一样。//dlg_5Dlg.cppBOOL CDlg_5App::InitInstance(){ AfxEnableControlContainer(); #ifdef _AFXDLL Enable3dControls(); // Call转载 2010-08-04 13:17:00 · 2545 阅读 · 0 评论 -
深入分析MFC文档视图结构(项目实践)
<br />文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Document/View Architecture的MFC程序框架,Document/View Architecture本身的复杂性加上VC产生的一系列代码足够让我们眼花缭乱,一时陷入云转载 2010-08-02 20:50:00 · 821 阅读 · 0 评论 -
主函数 main WinMain _tmain _tWinMain 的区别
<br />main是C/C++的标准入口函数名<br />WinMain是windows API窗体程序的入口函数。(int WINAPI WinMain()) 中 WINAPI是__stdcall宏,在windef.h中定义的。<br />_tmain _tWinMain 是Unicode版本函数别名,对应与wmain和wWinMain。<br />******************************************************************************转载 2010-08-01 21:31:00 · 6223 阅读 · 0 评论 -
评侯捷的<深入浅出MFC>和李久进的<MFC深入浅出>
<br />侯捷的<深入浅出mfc>相信大家都已经很熟悉了,论坛上也有很多介绍,这里我就不多说了。<br />而李久进的<mfc深入浅出>,听说的人可能就少得多。原因听说是这本书当时没有怎么宣传,而自从1999年第1版后,似乎也没有重印过,现在市面上根本找不到,所以大部分人都不知道。我手里现在恰好有一本,是从图书馆借的。这本书全名为<mfc深入浅出——从mfc设计到mfc编程>李久进编著,华中理工大学出版。此书极佳!<br />我这本书是1999年9月第一版,印数居然只有5000册。这么好的书只印5000册转载 2010-07-31 23:45:00 · 3023 阅读 · 2 评论 -
vc++窗口的创建过程(MFC消息机制的经典文章)
一、什么是窗口类 在Windows中运行的程序,大多数都有一个或几个可以看得见的窗口,而在这些窗口被创建起来之前,操作系统怎么知道该怎样创建该窗口,以及用户操作该窗口的各种消息交给谁处理呢?所以VC在调用Windows的API(CreateWindow或者CreateWindowEx)创建窗口之前,要求程序员必须定义一个窗口类(不是传统C++意义上的类)来规定所创建该窗口所需要的各种信息,主要包括:窗口的消息处理函数、窗口的风格、图标、 鼠标、菜单等。其定义如下: typedef struct tagW转载 2010-07-30 17:04:00 · 8418 阅读 · 0 评论 -
啰啰嗦嗦学习VC++_>
WINDOWS程序内部运行原理<br />2009年2月19日4:15:43(第一次)<br />API(Application programming interface) 应用程序编程的接口<br />MSG(message) 消息结构体 <br />操作系统将每一个事件包装成一个称为消息MSG的结构体传递给应用程序<br />MSG的结构定义如下:(windows user interface : platform sdk )<br />Typedef struct tagMSG{<br />转载 2010-08-01 22:08:00 · 1269 阅读 · 0 评论 -
映射窗口句柄对象
<br />话题引入:在C语言时代,当人们使用纯粹的C开发windows应用程序时,只需要通过窗口句柄HWND【HWND是WND的内存句柄,而WND是Windows是一个内部私有数据结构,存储着窗口的相关信息:尺寸信息、标题信息等。一般来说开发人员无法访问这个数据结构,不过可以以HWND为参数调用windows的API函数如:GetWindowRect、GetWindowText等获得对其的访问】即可完成有关窗口的操作。MFC类是C++类机制,MFC的类通过C++的对象方法将窗口的句柄封装起来。存在着窗口句转载 2010-07-30 17:49:00 · 1217 阅读 · 0 评论 -
MFC的消息映射机制揭秘
MFC的设计者们在设计MFC时,紧紧把握一个目标,那就是尽可能使得MFC的代码要小,速度尽可能快。为了这个目标,他们使用了许多技巧,其中很多技巧体现在宏的运用上,实现MFC的消息映射的机制就是其中之一。 同MFC消息映射机制有关的宏有下面几个: DECLARE_MESSAGE_MAP()宏 BEGIN_MESSAGE_MAP(theClass, baseClass)和END_MESSAGE_MAP()宏 弄懂MFC消息映射机制的最好办法是将找出一个具体的实例,将这些宏展开,并找出相关的数据结转载 2010-07-30 14:16:00 · 1017 阅读 · 0 评论 -
Java序列化的机制和原理
<br />有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。<br />Java序列化算法透析<br />Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。转载 2010-07-29 14:45:00 · 785 阅读 · 0 评论 -
VC++中为什么要注册窗口类
<br />我们在使用microsoft平台SDK或者MFC编程时,在创建窗口类后都要先用RegisterClass函数来注册窗口类,这个函数需要一个指向窗口类结构的指针。那么RegisterClass这个windows API函数到底做了什么呢,关于这个函数的源码微软是不会给出来的,因为它只是提供一个系统编程接口,网上也找不到相关说明,只是粗略介绍需要将类注册给系统,但从msdn的atom table说明中我们发现这样一段说明。The system uses atom tables that are no转载 2010-07-29 11:05:00 · 3281 阅读 · 1 评论 -
MFC全局函数开局——AfxGetApp解剖
<br />MFC中有不少的全局函数,方便在不同对象中获取不同的内容或创建不同的对象。主要全局函数有:<br />AfxWinInit() AfxBeginThread() AfxEndThread() AfxFormatString1() AfxFormatString2()<br />AfxMessageBox() AfxOutPutDebugString() AfxGetApp() AfxGetMainWnd() AfxGetInstance()<br />AfxRegisterClass()转载 2010-07-25 22:25:00 · 886 阅读 · 0 评论 -
VC 笔记
<br />Windows程序内部运行机制<br />1、API与SDK<br />Windows操作系统提供了各种各样的函数,以方便我们开发Windows应用程序,这些函数是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称为API函数。我们在编写Windows程序时所说的API函数,就是指系统提供的函数,所有主要的Windows函数都在Window.h头文件中进行了说明<br />微软提供的API函数大多是有意义的单词组合,每个单词转载 2010-08-04 22:01:00 · 1176 阅读 · 0 评论