在哪里可以找到用于Windows API调用的Delphi声明?

时间:2015-11-18 16:08:39

标签: delphi winapi delphi-xe5

我希望能够看到如何在Delphi中调用Windows API。最近我有一个关于GetProcessorAffinity的问题,并且Delphi声明作为答案的一部分发布。我想知道如何找到这种信息。

2 个答案:

答案 0 :(得分:5)

没有名为GetProcessorAffinity的功能。可能你的意思是GetProcessAffinityMask。该函数在RTL单元Winapi.Windows中声明。 Delphi提供了源文件。您可以使用 CTRL +单击以导航到任何函数的声明。

如果您使用GetProcessorAffinity执行此操作,那么您将在Winapi.Windows中执行此操作。现在,该实现看起来像这样:

function GetProcessAffinityMask; external kernel32 name 'GetProcessAffinityMask';

这不是非常有用,但您正在寻找的信息就在附近。现在您在包含实现的文件中,您可以找到声明。移至文件顶部并搜索GetProcessAffinityMask。那将带您到这里:

function GetProcessAffinityMask(hProcess: THandle;
  var lpProcessAffinityMask, lpSystemAffinityMask: DWORD_PTR): BOOL; stdcall;

这是您需要的信息。

许多Windows API函数(但不是全部)都在Winapi.Windows中声明。但无论如何,上述过程都会将您带到正确的文件中。

另一种有用的技术是在文件中搜索。从IDE 搜索菜单中选择在文件中查找。像这样配置对话框:

enter image description here

请注意,您需要使用适合您的Delphi版本的路径。例如,我的例子来自XE7,即版本15,但你有XE5版本12。

答案 1 :(得分:1)

默认情况下,Delphi有一些不同单位的Windows API(很多都在(WinApi。)Windows单元中。

可以在Delphi Jedi Apilib项目中找到更完整的Windows API标头翻译。