- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
API入门(修订版)1.doc
API简介
首先,有必要向大家讲一讲,什么是API。所谓API本来是为C和C++程序员写的。API说来说去,就是一种函数,他们包含在一个附加名为DLL的动态连接库文件中。用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,它使编程人员可以用不同类型的编程语言编制出的运行在Windows95和Windows?NT操作系统上的应用程序。可以说,如果你曾经学过VC,那么API对你来说不是什么问题。但是如果你没有学过VC,或者你对Windows95的结构体系不熟悉,那么可以说,学习API将是一件很辛苦的事情。
如果你打开WINDOWS的SYSTEM文件夹,你可以发现其中有很多附加名为DLL的文件。一个DLL中包含的API函数并不只是一个,数十个,甚至是数百个。我们能都掌握它嘛?回答是否定的∶不可能掌握。但实际上,我们真的没必要都掌握,只要重点掌握Windos系统本身自带的API函数就可以了。但,在其中还应当抛开掉同VB本身自有的函数重复的函数。如,VB?的etAttr命令可以获得文件属性,SetAttr可以设置文件属性。对API来讲也有对应的函数,GetFileAttributes和SetFileAttributes,性能都差不多。如此地一算,剩下来的也就5、600个。是的,也不少。但,我可以敢跟你说,只要你熟悉地掌握100个,那么你的编程水平比现在高出至少要两倍。尽管人们说VB和WINDOWS具有密切的关系,但我认为,API更接近?WINDOWS。如果你学会了API,首要的收获便是对WINDOWS体系结构的认识。这个收获是来自不易的。
如果你不依靠API会怎么样?我可以跟你说,绝大多是高级编程书本(当然这不是书的名程叫高级而高级的,而是在一开始的《本书内容》中指明《本书的阅读对象是具有一定VB基础的读者》的那些书),首先提的问题一般大都是从API开始。因此可以说,你不学API,你大概将停留在初级水平,无法往上攀登。唯一的途径也许就是向别人求救∶我快死了,快来救救我呀,这个怎么办,那个怎么办?烦不烦呢?当然,现在网上好人太多(包括我在内,嘻嘻),但,你应当明白,通过此途径,你的手中出不了好的作品。这是因为缺乏这些知识你的脑子里根本行不成一种总体的设计构思。
API文本游览器
很多API函数都是很长很长的。想看什么样子吗?如下就是作为例子的API?DdeClientTransaction函数∶
Declare?Function?DdeClientTransaction?Lib?user32?(pData?As?Byte,?ByVal?cbData?As?Long,?ByVal?hConv?As?Long,?ByVal?hszItem?As?Long,?ByVal?wFmt?As?Long,?ByVal?wType?As?Long,?ByVal?dwTimeout?As?Long,?pdwResult?As?Long)?As?Long
哇!这么长?如果你从来没有接触过API,我想你肯定被吓住了。你也许考虑,该不该继续学下去。不过不要担心,幸运的是Microsoft的设计家们为我们提供了有用的工具,这便是API文本查看器。
通过API文本查看器,我们可以方便地查找程序所需要的函数声明、结构类型和常数,然后将它复制到剪贴板,最后再粘贴到VB程序的代码段中。在大多数情况下,只要我们确定了程序所需要的函数、结构和常数这三个方面后,就可以通过对API文本游览器的以上操作将他们加入到程序段中,从而程序中可以使用这些函数了。这些是学习API最基本的常识问题,它远远占不到API的庞大的体系内容。今后我们把精力浪费(这绝不是浪费)在哪里呢?那就是∶什么时候使用什么函数,什么时候使用什么结构类型,什么时候使用什么常数。
API函数声明
让我们回想一下。在VB中,如何声明函数呢?我想,如果你正在看此文,那么你绝对能够回答得出这个问题。以下便是你应该很熟悉的函数声明∶
Function?SetFocus?(ByVal?hwnd?As?Long)?As?Long
即这行代码定义了名为SetFocus的函数,此函数具有一个Long型数据类型的参数,并按值传递(ByVal),函数执行后将返回一个Long型数据。
API函数的声明也很类似,如,API中的SetFocus?函数是这样写的∶
Declare?Function?SetFocus?Lib?user32?Alias?SetFocus?(ByVal?hwnd?As?Long)?As?Long
有点复杂了一些。是的,是复杂了点。但我可以告诉你,除了这些多出来的部分,其他部分还是和你以前学到的东西是一样的。函数在程序中的调用也是一样。如:
Dim?dl?As?Long
您可能关注的文档
- 1 LabVIEW入门1.doc
- (人教新课标)一年级数学上册知识汇总.ppt
- (苏教版)六年级科学下册课件_有利于生存的本领_...内容精美.容量很大1.ppt
- 1 线性系统的状态空间描述.ppt
- 《马克思主义基本原理》知识体系的构建方法及其应用.ppt
- 2 MCS-51单片机结构及原理1.ppt
- 《学科入门指导》.ppt
- 《数控编程技术》教案3.ppt
- 【FANUC系统】数控车床的编程与操作实例1.ppt
- 2 第二章 mcs-51单片机的硬件结构1.ppt
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
最近下载
- 3铁+铁的单质说课课件 2023-2024学年高一上学期化学人教版(2019)必修第一册+.pptx
- (完整)EPC项目管理要点.pdf
- 宏观经济研究*专题报告:拉姆塞模型视角下的中国经济-241125.pdf VIP
- 《国家电网有限公司施工项目部标准化管理手册 变电工程分册(2021年版)》.doc
- 《工业项目建设用地控制指标》.pdf
- 广东工业大学《高等数学(2)》2020-2021第一学期期末试卷.pdf
- 2025蛇年公司元旦跨年晚会IT互联网尾牙活动策划方案-25P.pptx VIP
- 义务教育优质均衡发展工作实施方案通用五篇 (模板).pdf
- 四年级最新四年级下册阅读理解题20套(带答案).doc
- 煤气化技术简介..doc
文档评论(0)