![]() |
![]() |
#1 (permalink) |
高级会员
注册日期: 2009-07-09
住址: 亦庄经济开发区2号院大族广场1502
帖子: 535
![]() |
![]()
Delphi调用API函数实例
Delphi 中定义了相应单元,给出了所有Win32 API函数的接口。Delphi调用API函数非常简单,甚至不需要声明外部引用,只需将使用的单元名放在Uses子句中就可以,其它的工作全部由系统定 义的单元完成。下面,我们给出几个Delphi中使用API函数的实例,帮助大家理解。 1、在“文档”菜单中添加新项及清空项目 在Windows的开始菜单中有一个文档菜单,保存了最近处理过的文档信息,如何增加新项或将其清空呢?我们可以利用API函数SHAddtoRecentDocs()来实现,它定义在Shlobj单元中,使用前要先在Uses中加以说明。下面为处理方法: uses shlobj; procedure TForm1.Button1Click(Sender: TObject); begin SHAddtoRecentDocs(SHARD_PATH, Pchar('c:mydiraaa.txt')); //增加新的一项 end; procedure TForm1.Button2Click(Sender: TObject); begin SHAddtoRecentDocs(SHARD_PATH, nil); //清空文档菜单 end; 2、使窗口标题栏闪烁 在Windows中,常用窗口标题栏的闪烁来提醒用户,向你的程序中加入这一功能一定很有意思。API函数Flash Windows( )可以使一个特定的窗口闪动一次,如果将其放在计时器中调用,标题栏闪烁就很容易实现。 procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Interval:=500; //计时器的间隔时间,每500毫秒触发一次 Timer1.Enabled:=Not Timer1.Enabled; //切换计时器的激活或停止状态 end; procedure TForm1.Timer1Timer(Sender: TObject); begin FlashWindow(Form1.Handle,TRUE); //闪烁标题栏 end; FlashWindows()有两个参数:第一个参数指明窗口的句柄;第二个参数指定窗口是闪动还是恢复始状态。这个函数定义在Windows单元中,是Delphi的缺省单元,故不必再用Uses子句进行说明。 3、在程序中播放WAV声音文件 Windows 启动时那声嘹亮的号角声是否让你感到振奋。OK!让我们在自己的程序中来实现它。仅仅播放一个WAV声音文件,当然不需要劳驾MediaPlayer构 件,API函数SndPlaySound()就可以很好地完成这一工作。它定义在MMSystem单元中,有两个参数:第一个指明WAV文件的路径、文件 名;第二个指明播放方式。实例如下: uses MMSystem; procedure TForm1.FormCreate(Sender: TObject); begin SndPlaySound('c:windowsmediatada.wav',SND_ASYNC) end;
__________________
地址:北京亦庄经济技术开发区荣华南路10号院5号楼705 电话:010-82356575/76/77转6070 联系人:苏秋英 手机微信同号:13811870548 QQ: 1170923055 |
![]() |
![]() |
书签 |
当前查看此主题的会员: 1 (0 位会员和 1 位游客) | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
Delphi环境中编写调用DLL的方法和技巧 | susu8988 | 短信开发资料 | 0 | 2009-10-29 16:05 |
Java中调用Delphi编写的DLL | susu8988 | 短信开发资料 | 0 | 2009-10-29 16:04 |
编译指令与说明(Delphi) | susu8988 | 短信开发资料 | 0 | 2009-10-26 09:59 |
Delphi中的DLL的编写 | susu8988 | 短信开发资料 | 0 | 2009-10-22 10:38 |
Java中调用Delphi编写的DLL | susu8988 | 短信开发资料 | 0 | 2009-10-22 10:36 |