怎样在DELPHI中使用API函数
2015-12-02 17:24
411 查看
实际上,在DELPHI中调用WIN32 API函数与在C或C++中调用WIN32 API函数没有大的区别。DELPHI中将C或C++中引用 的WINDOWS.H头文件改写为WINDOWS.PAS单元,使WINDOWS API函数的定义符合PASCAL语法。而其他的头文件在DELPHI中也都有相应的.PAS单元一一对应,所以在DELPHI中调用API函数时,只须 将相应的API函数单元加入到USES语句的单元之中,便可直接调用相应的函数了。
下面我们来看一个简单的例子,程序的作用是改变桌面墙纸:
unitUnit1;
interface
{Windows.PAS是DELPHI提供的标准单元,我们要调用API函数,需要引用这个单元}
usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls;
type
TForm1 =class(TForm);
Button1:TButton;
procedureButton1Click(Sender: TObject);
private{ Private declarations }
public {Public declarations }
end;
var Form1:TForm1;
implementation{$R *.DFM}
procedureTForm1.Button1Click(Sender: TObject);
varfilename1:string;
begin
filename1:='c:\windows\mywallpaper.bmp';
{调用API函数SystemParametersInfo来设置桌面墙纸的图片文件为'c:\windows\mywallpaper.bmp'}
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,pchar(filename1), SPIF_UPDATEINIFILE);
end;
end.
其中SystemParametersInfo函数的参数的意义如下表:
参数: 意义
uActionLongint,指定要设置的参数。参考uAction常数表
uParamLongint,参考uAction常数表
lpvParam不定,按引用调用的Integer、Longint和数据结构。
fuWinIni参数规定了在设置系统参数的时候,是否应更新用户设置参数
常数SPIF_UPDATEINIFILE表示更新
下面是本例的uAction常数,和使用它的方法:
参数 意义和使用方法
SPI_SETDESKWALLPAPER设置桌面背景墙纸,用法为:
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, 图片路径, 1)
好了在DELPHI中调用API函数就是这样简单,我们需要知道的只是API函数的意义和参数列表,然后把它用到程序中就可以了。需要提醒的是C的数据类型可能会与DELPHI的数据类型有些不同,而调用API函数时必须保证类型一致才行。
转自bbs.sendsms.cn
下面我们来看一个简单的例子,程序的作用是改变桌面墙纸:
unitUnit1;
interface
{Windows.PAS是DELPHI提供的标准单元,我们要调用API函数,需要引用这个单元}
usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls;
type
TForm1 =class(TForm);
Button1:TButton;
procedureButton1Click(Sender: TObject);
private{ Private declarations }
public {Public declarations }
end;
var Form1:TForm1;
implementation{$R *.DFM}
procedureTForm1.Button1Click(Sender: TObject);
varfilename1:string;
begin
filename1:='c:\windows\mywallpaper.bmp';
{调用API函数SystemParametersInfo来设置桌面墙纸的图片文件为'c:\windows\mywallpaper.bmp'}
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,pchar(filename1), SPIF_UPDATEINIFILE);
end;
end.
其中SystemParametersInfo函数的参数的意义如下表:
参数: 意义
uActionLongint,指定要设置的参数。参考uAction常数表
uParamLongint,参考uAction常数表
lpvParam不定,按引用调用的Integer、Longint和数据结构。
fuWinIni参数规定了在设置系统参数的时候,是否应更新用户设置参数
常数SPIF_UPDATEINIFILE表示更新
下面是本例的uAction常数,和使用它的方法:
参数 意义和使用方法
SPI_SETDESKWALLPAPER设置桌面背景墙纸,用法为:
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, 图片路径, 1)
好了在DELPHI中调用API函数就是这样简单,我们需要知道的只是API函数的意义和参数列表,然后把它用到程序中就可以了。需要提醒的是C的数据类型可能会与DELPHI的数据类型有些不同,而调用API函数时必须保证类型一致才行。
转自bbs.sendsms.cn
相关文章推荐
- 怎样在DELPHI中使用API函数
- Delphi字段类型和不同数据库对应.txt
- Delphi与SQL模糊like通配符查询(转载)
- Delphi通过IE窗口句柄获取网页接口(IWebBrowser2) good
- Delphi中的Rtti函数
- 强大的DELPHI RTTI–兼谈需要了解多种开发语言
- Delphi中运行时改变panel的位置及大小(WM_SysCommand消息配合参数使用,很奇妙) good
- Delphi判断一个文件是不是JPG图片
- delphi中覆盖最大化消息(WM_GETMINMAXINFO)
- Delphi中TWebBrowser中注入Js
- delphi写的整合汇编与api的简单的窗口程序
- Delphi中methodaddress的汇编代码解析
- delphi程序设计之底层原理
- Delphi中TFlowPanel实现滚动条效果
- 减小Delphi的Exe文件大小(11种方法)
- 获取EIP(汇编语言直接给Delphi变量赋值)
- 怎样在DELPHI中使用API函数
- delphi 天气预报
- Delphi Socket Demo
- Delphi在StatusBar上绘制ProgressBar