实际上,在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
分享到:
相关推荐
### 如何在DELPHI中使用API函数 在Delphi中使用Windows API函数是一项非常实用且重要的技能。本文将详细介绍如何在Delphi中调用Windows API函数,并通过一个具体的示例来展示整个过程。 #### 一、理解Windows API ...
本文将深入探讨在Delphi中使用API函数的一些关键技巧和注意事项。 首先,了解API函数的基础知识是至关重要的。API函数通常是用C语言编写的,因此在Delphi中使用时需要进行一些转换。这包括定义函数原型,通常使用`...
--API函数快速入门--怎样在DELPHI中使用API函数-- 下一节 实际上,在DELPHI中调用WIN32 API函数与在C或C++中调用WIN32 API函数没有大的区别。DELPHI中将C或C++中引用 的WINDOWS.H头文件改写为WINDOWS.PAS单元,...
在DELPHI中,调用API函数非常直接,因为DELPHI本身是基于Pascal语言的,而Pascal语法与C语言家族(包括C++)的API调用方式非常接近。DELPHI的标准库中包含了一个名为`windows.pas`的单元,这个单元定义了大量的...
本文将深入解析Delphi中API函数的应用,基于给定文件的部分内容,探讨几个重要的API函数及其使用方法。 ### 1. AnyPopup:BOOL 此变量定义于`windows.pas`单元中,用于检查是否有任何弹出窗口存在。在Delphi中,...
delphi 利用API函数写串口。 //建立串口句柄 CommHandle := CreateFile(PChar(ComboBox1.Text),GENERIC_WRITE or GENERIC_READ, 0,nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED or FILE_ATTRIBUTE_NORMAL,0); if ...
DELPHI作为一个强大的Windows开发工具,不仅支持自身丰富的控件和类库,还允许开发者直接调用API函数来实现更多自定义功能。 1. **AnyPopup函数**: - 函数:AnyPopup: BOOL; - 单元:windows.pas; - 功能:检测...
1. **导入库**:在Delphi中,我们使用`uses`关键字导入包含API函数声明的单元,比如`Windows`或`Winsock`单元。 ```delphi uses Windows, Winsock; ``` 2. **声明API函数**:如果API函数没有在Delphi的标准库中...
### Delphi API函数大全 ...以上这些API函数涵盖了Delphi开发中常见的文件管理和消息处理操作,对于学习Delphi的人来说非常有用,能够帮助开发者更好地理解和运用这些功能强大的API函数,从而提高开发效率和程序质量。
例如,`delphi_des_dll_demo` 文件可能是一个演示如何在 Delphi 中使用 DLL(动态链接库)的实例,这通常涉及到 `GetProcAddress` 和 `LoadLibrary` 函数来加载和调用 DLL 中的函数。 在 Delphi 开发中,理解并熟练...
【API函数在DELPHI中的应用】 在DELPHI编程中,API函数是与操作系统进行交互的重要工具,特别是在处理特定任务如网络操作、消息处理和文件管理等方面。以下是对标题和描述中提到的一些API函数的详细说明: 1. **...
2. **声明API函数**:Delphi的API函数声明通常在`System.SysUtils`单元中已经完成,但如果你需要自定义,可以使用`function`关键字,指定`stdcall`调用约定,这是大多数Windows API函数的约定。 ```delphi function ...
API函数的调用在DELPHI中相对简单,因为DELPHI已经为大部分常见的Win32API函数提供了对应的单元。 1. **API函数的分类** - **基本管理**: 包括内存分配、任务管理、资源加载和文件操作,如kernel32单元中的函数。 ...
这些单元文件中包含了对API函数的声明和实现,使得开发者无需关心底层的C语言调用约定,可以直接在Delphi代码中使用API函数。 在Delphi中,使用Win32 API主要通过以下步骤: 1. 引入API单元:首先,你需要在Delphi...
Delphi用API函数进行文件的复制,使用API函数实现文件复制, AssignFile(FromFile, SourceName);//指定源文件名 AssignFile(ToFile, DestName);//指定目标文件名 Reset(FromFile);//读文件 ...
在Delphi中,我们可以使用TSerial或 Indy 等第三方组件来操作串口,但若想直接通过API进行读写,我们需要使用如`CreateFile`,`WriteFile`,`ReadFile`,`CloseHandle`等函数。 1. **创建串口**:使用`CreateFile`...
关于delphi动态调用API函数的视频
在Delphi端,开发者会调用CryptoAPI函数来生成自签名证书,如`CryptAcquireContext`、`CryptGenKey`和`CertCreateSelfSignCertificate`等,生成包含私钥的.pfx文件。然后,可以导出公钥为.cer文件,供PHP使用。 在...
在Delphi中,我们需要引入`Windows`和`SetupAPI`单元,这样我们就可以访问到这些API函数。 ```delphi uses Windows, SetupAPI; ``` 接着,我们需要创建一个`DEVCLASS_ENUMERATOR`结构数组,用于存储设备枚举器的...