如何调用WindowsAPI函数(100分)

  • 主题发起人 主题发起人 LHyForever
  • 开始时间 开始时间
L

LHyForever

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在真的很着急!<br>请问如何调用WindowsAPI函数?请写上真正的方法而不是说什么“去MSDN”、“去查Help”<br>之类的话,谢谢!分数一定会及时给您加上的。<br><br>最好请您再加上一些实例!谢谢!<br><br>拜托了!
 
初学吧,不用着急。调用API其实很简单。在delphi中,一般加上相应的单元,直接调用就行了。
 
在interface中的uses中加上ShellApi或windows<br>然后在程序中直接调用API函数就可以了。
 
这是一个获取文件图标的函数,其中就运用到了API函数。<br>unit Unit1;<br><br>interface<br><br>uses<br>&nbsp; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br>&nbsp; Dialogs, ShellAPI;<br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; private<br>&nbsp; &nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp; &nbsp; { Public declarations }<br>&nbsp; end;<br><br>var<br>&nbsp; Form1: TForm1;<br>&nbsp; ShFileInfo: TSHFILEINFO;<br><br>implementation<br><br>{$R *.DFM}<br>function GetFileIconIndex(FileNameStr: string):integer;//获取图标的序号函数<br>var<br>&nbsp; ExtFile:String;<br>begin<br>&nbsp; ExtFile := FileNameStr;<br>&nbsp; Result := ShGetFileInfo(Pchar(ExtFile), 0, SHFileInfo,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SizeOf(SHFileInfo), SHGFI_LARGEICON or<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SHGFI_SYSICONINDEX or SHGFI_TYPENAME);<br>&nbsp; Result:=SHFileInfo.iIcon;//图标序号<br>end;<br>
 
大部分都需要 windows, ShellApi 单元,用法和普通函数没什么区别
 
在interface中的uses中加上ShellApi或windows<br>然后在程序中直接调用API函数就可以了。<br>说的对极了!
 
从delphi帮助带的windows SDK帮助中查到的函数,好多都不知道要uses哪个单元,这样的<br>怎么知道该use哪个单元,帮助上也没说。
 
to 峻祁连:<br>&nbsp;我以前也碰到过这个问题, 你搜索DELPHI下的SOURCE目录,在条件里打上 &nbsp;文件包含字符<br>(比如查shellexecute) 就打它,然后搜索,不就行了!<br>to LHyForever,:<br>&nbsp;每个API的函数参数都不一样,你可以上网下一个API函数大全之类的CHM,然后看着参数写
 
当函数用,把调用的头带上.
 
如果ShellApi.pas或Windows.pas里面实在没有,就参考其原代码,临时<br>编写一个API引用单元就可以了。<br>请问,你要使用什么API函数?
 
没错,<br>delphi将大部分的winAPI都封装了,只要包含对应的单元后就可以直接引用.<br>只是很多winAPI参数值就要在MSDN中查,有时还要在VC++提供的.h文件中查.
 
谢谢各位回答我的问题。现在再结帖实在不好意思。:)<br><br>另,我有个很重要很重要的问题,大家能不能再帮我看看。<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=2011291<br><br>谢谢!
 
多人接受答案了。
 
在use 加上相应地单元,你要调用什么函数,如果是在书上看的,应该说明有的。<br>然后进行声明,再定义,之后就可以调用了。
 
后退
顶部