您的批评和鼓励都是我把编程无限办好的动力! 您编程时遇到困难,或遇到不顺心的事想发发牢骚尽管到这里来吧! 虽然本网力求全面,但也不能包罗万象,这些我筛选出的优秀网站连接就是对本站最好的补充! 学习编程当然也离不开书本了,这里收集大量编程书籍! 编程无限之源码超市,这里收集的代码令你意想不到的全面! 欢迎光临编程网校,这里专门收集VB/CB入门文章及技术文章! 欢迎光临编程无限!
     
       
 
当前位置:中文资料 >> 系统API
怎样在DELPHI中使用API函数
  资料类型: 系统API 上传时间: 2001-02-21 阅读次数: 2482



怎样在DELPHI中使用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:windowsmywallpaper.bmp';
    {调用API函数SystemParametersInfo来设置桌面墙纸的图片文件为'c:windowsmywallpaper.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函数时必须保证类型一致才行,这是我们必须注意的一点

推荐给朋友 点 评( 1 ) 返回前页 关闭此页
   
  本类最热文章排名:
  1.在VB中使用API函数 (之一)
2.怎样用VB在应用程序中调用API
3.在VB中使用API函数 (之二)
4.在VB中使用API函数 (之三)
5.指定文件夹
6.在VB中使用API函数 (之五)
7.在VB中使用API函数 (之四)
8.在VB中用API实现多媒体
9.如何提高调用WINDOWS API函数编程技巧
10.在VB中控制Ctrl+Del+Alt键
   
   
  评论:
  1.fsaf
 
 
 

 

关于本站 版权声明 联系方法
编程无限 V4.1 Copyright © 1999-2008 21code.com

京ICP备05006938号