加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 考试辅导 - 正文

 
计算机二级辅导:关于API函数介绍
来源:fjzsksw.com 2009-11-11 编辑:yangmeiling 【字体:小 大】

(2)常见的API参数类型的说明
  API函数的参数中最常见的是长整Long型数据类型,例如API中的句柄、一些特定的常量、函数的返回值都是此类型 的值;另外几种常见的参数类型有:整型Integer、Byte型、String型等。

  (3)声明中的ByVal是作什么用的
  这跟VB的参数传递方式有关,在默认情况下VB是通过地址传递方式传递函数的参数、而有些API函数要求必须采用传值方式来传递函数参数(这两种参数传递方式是不同的,前者传递的是一个指针,而后者要求是参数真实的值)。这样就会发生错误,解决的办法是在API函数参数声明的前面加上ByVal关键字,这样VB就采用传值方式传递参数了。

  (4)怎样得到完整的API函数声明
  VB自带了API文本查看器API TEXT VIEWER,我们可以在其中找到API函数的完整声明,然后把它粘贴到程序中即可。

  实际上,在DELPHI中调用WIN32 API函数与在C或C++中调用WIN32 API函数没有大的区别。DELPHI中将C或C++中引用 的WINDOWS.H头文件改写为WINDOWS.PAS单元,使WINDOWS API函数的定义符合PASCAL语法。而其他的头文件在DELPHI中也都有相应的.PAS单元一一对应,所以在DELPHI中调用API函数时,只须将相应的API函数单元加入到USES语句的单元之中,便可直接调用相应的函数了。

  下面我们来看一个简单的例子,程序的作用是改变桌面墙纸:

  unit Unit1;
  interface
  {Windows.PAS是DELPHI提供的标准单元,我们要调用API函数,需要引用这个单元}
  uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
  type
    TForm1 = class(TForm);
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private { Private declarations }
    public { Public declarations }
  end;
  var Form1: TForm1;        
  implementation {$R *.DFM}
  procedure TForm1.Button1Click(Sender: TObject);
  var filename1:string;
  begin
    filename1:='c:\windows\mywallpaper.bmp';
    {调用API函数SystemParametersInfo来设置桌面墙纸的图片文件为'c:\windows\mywallpaper.bmp'}
    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,pchar(filename1), SPIF_UPDATEINIFILE);
  end;
  end.

  其中SystemParametersInfo函数的参数的意义如下表:

参数: 意义
uAction Longint,指定要设置的参数。参考uAction常数表
uParam Longint,参考uAction常数表
lpvParam 不定,按引用调用的Integer、Longint和数据结构。
fuWinIni 参数规定了在设置系统参数的时候,是否应更新用户设置参数
常数SPIF_UPDATEINIFILE表示更新

  下面是本例的uAction常数,和使用它的方法:

参数
意义和使用方法
SPI_SETDESKWALLPAPER
设置桌面背景墙纸,用法为:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, 图片路径, 1)

  好了在DELPHI中调用API函数就是这样简单,我们需要知道的只是API函数的意义和参数列表,然后把它用到程序中就可以了。需要提醒的是C的数据类型可能会与DELPHI的数据类型有些不同,而调用API函数时必须保证类型一致才行,这是我们必须注意的一点。

今天我们把标准WIN32 API函数分类介绍一下,虽然我们不必去刻意研究每个API函数的用法,但是在需要的时候,至少应该知道它属于哪一类的API函数,这样才能正确查找和使用。

  按照通常的划分标准,WIN32 API函数分为七大类:

  1、窗口管理类:这类API函数向应用程序提供了一些创建和管理用户界面的方法,我们可以使用它们来做出程序的界面。
  2、窗口通用控制类:系统SHELL提供了一些控制,使用这些控制可以使窗口具有与众不同的外观,通用控制是由通用控制库COMCTL32.DLL提供的。
  3、SHELL特性类:应用程序可以使用它们来增强系统SHELL各方面的功能。
  4、图形设备接口(GDI):提供绘图、图形处理、使用显示设备等一系列的API函数。
  5、系统服务类:为计算机提供了访问计算机资源以及底层操作的手段。
  6、国际特性类:有助于我们编写国际化的应用程序,提供Unicode字符集和多语种支持。
  7、网络服务类:允许网络上的不同计算机之间的不同应用程序之间进行通讯,用于在各计算机上创建和管理共享资源的连接。

  上面的分类对于我们来说还是显得宽泛了一些,所以本节以后的各节会采用小分类的方法,也就是按具体功能的划分为大家介绍一些常用的API函数的用法。



 
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
最新文章
热门文章

报名考试
全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
青海 | 宁夏 | 甘肃 | 新疆 | 陕西
西藏 | 北京 | 天津 | 河北 | 山东
江苏 | 安徽 | 河南 | 上海 | 浙江
福建 | 广东 | 山西 | 湖南 | 湖北
江西 | 广西 | 海南 | 云南 | 贵州
四川 | 重庆
分省高校计算机考试
黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
北京 | 天津 | 新疆 | 甘肃 | 宁夏
青海 | 陕西 | 山西 | 河南 | 山东
江苏 | 安徽 | 浙江 | 福建 | 广东
海南 | 广西 | 江西 | 湖北 | 湖南
四川 | 上海 | 重庆 | 贵州 | 云南
西藏
成绩查询
报考指南
试题答案
模拟试题
考试辅导
计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
经验交流
高校计算机