本文整理自网络,侵删。
经常要写DLL,为了减小DLL的大小,如无特殊要求,我一般在DLL工程中只Uses Windows,Messages这两个单元,这样生成的DLL大小就只有14-16KB左右。前次由于要在DLL中判断硬盘中某一位置是否有某一文件存在,大家都知道在Delphi的Sysutils.pas单元中有一个内部函数FileExists可以判断文件是否存在。但如果引用了此单元,则生成的DLL就变成了41.5KB以上,为了使用一个函数让程序增加3倍体积实在不爽,于是我想到了API,于是发现了shlwapi.dll中的PathFileExists函数,遗憾的是Windows.pas中并未声明它,为了声明它弄了我一晚上,才知道它是有别名的,PathFileExistsA,声明与使用方法如下:
一、声明(方式有两种):
1. function PathFileExists(pszPath:string):Bool;stdcall;external 'shlwapi.dll'Name'PathFileExistsA';
2. function PathFileExistsA(pszPath:string):Bool;stdcall;external 'shlwapi.dll';
二、使用(此处用第二种方式)://该函数的返回值为布尔型,0 或1,
if not PathFileExistsA('f:\pascal教程.doc') then
ShowMessage('File not find!')
else
showmessage('File exists!');
相关阅读 >>
Delphi的idhttp报508 loop detected错误的原因
Delphi 中 findwindow 和 findwindowex 的语法和用法
更多相关阅读请进入《Delphi》频道 >>