基于vb调用windowsapi函数编程技巧探究

基于vb调用windowsapi函数编程技巧探究

ID:31777326

大小:73.73 KB

页数:8页

时间:2019-01-18

基于vb调用windowsapi函数编程技巧探究_第1页
基于vb调用windowsapi函数编程技巧探究_第2页
基于vb调用windowsapi函数编程技巧探究_第3页
基于vb调用windowsapi函数编程技巧探究_第4页
基于vb调用windowsapi函数编程技巧探究_第5页
资源描述:

《基于vb调用windowsapi函数编程技巧探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于VB调用WindowsAPI函数编程技巧探究摘要:API函数是操作系统和Windows应用程序的接口,能够直接控制和处理计算机的系统参数和硬件资源,实现许多髙级功能。同时,API函数之多、功能之复杂让许多程序员望而生畏,因此,我们有必要掌握调用API函数的技巧。关键词:API函数;VB;编程中图法分类号:TP311.1文献标识码:A文章编号:1671-7597(2012)1020081-021API函数概述API(英文全称是:ApplicationProgrammingInterface),即应用程序编程接口。API函数是WINDOWS提供给应用程序与操作系统的接口,它位于WIND

2、OWS操作系统核心之上、应用程序之下。WindowsAPI根据操作系统的不同,可分为应用于16位操作系统的API(即Windows16API)和应用于32位操作系统API(即Windows32API)。2API函数与软件编程技术在WINDOWS操作系统占主导地位时期,开发WINDOWS平台下的应用程序成为人们的需要。在WINDOWS程序设计的初期阶段,WINDOWS程序员所能使用的编程工具只有API函数,程序开发也是比较复杂的工作,程序员必须熟记大量常用的API函数,而且还必须对WINDOWS操作系统有深入了解。随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环

3、境,程序员可以采用"即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。这些优秀的可视化编程环境包括VB、VC++、DELPHI等都具有友好的界面、操作简单,而且提供了大量的代替了API功能的类库和控件。事实上,这些类库和控件都是构架在WIN32API函数基础之上的、封装了的API函数的集合。它们把常用的API函数组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。此时,程序员可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。实际上,如果我们要开发出灵活、实用、高效的应用程序,必然要涉及到直接使用API函数

4、。虽然类库和控件使应用程序的开发简单得多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。这正是API函数使用的场合。1API函数在VB开发中的应用技巧实例VisualBasic作为一个当前流行的快速编程环境,其无限扩展的API接口可以实现所有WINDOWS下可以实现的功能。但是,我们能用到的API函数有几千个,这些“浩瀚”的API函数对于初学者来说总是显得那么神奇与不可琢磨,在实际应用过程中不能够灵活。所以,我们对待API函数不必刻意研究每一个函数的用法,那也是不现实的,正如某位大虾所说——API不要

5、去学,在需要的时候去查API帮助就足够了。下面将结合'‘限制鼠标移动”的例子来示范介绍VB中调用API函数的步骤和功能,并总结说明在实际工作中如何提高这方面的技巧(本例采用VB6.0编译)。限制鼠标移动的实例:在设计基于Windows的应用软件时,通常要将鼠标限制在控件内部,直到任务完成或用户中断为止。此功能若借助API函数来实现则思路清楚、代码简洁。那就是:1)确定当前鼠标的位置;2)确定当前活动控件的大小;3)将鼠标限制在活动控件内。具体操作为:①建立一个新项目:新窗体为Forml,在Forml上添加一个CommandButton,设置Name=CMButtonl;Caption=

6、“将鼠标限制在此按钮中”。②拷贝API函数和POINTAPI结构:打开VB6.0自带的API浏览器,调入WIN32API.txt文件,复制以下结构和函数声明到Forml的声明部分:PrivateTypeRECTLeftAsLongTopAsLongRightAsLongBottomAsLongEndTypePrivateTypePOINTAPIxAsLongyAsLongEndTypePrivateDeclareFunctionClientToScreenLib”user32”(ByValhwndAsLong,IpPointAsPOINTAPI)AsLong'用来确定当前鼠标的位置Pr

7、ivateDeclareFunctionClipCursorLib”user32(IpRectAsAny)AsLong'用来限定当前鼠标的活动范围①定义一个通用过程ConfineTo:PublicSubConfineTo(myCtlAsObject)OnErrorResumeNextDimtmpRectAsRECTDimptAsPOINTAPIWithmyCtlIfTypeOfmyCtlIsScreenThen,锁定在屏幕范围内tmpRect.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。