Delphi的Dll中获取文件路径


本文整理自网络,侵删。

 
一、获取Dll自身路径
1)方法一:
Function GetDllPath(sDllName:string):string;
var
ModuleFileName:array[0..255] of char;
begin
//{取得dll的实际位置}
GetModuleFileName(GetModuleHandle(sDllName), @ModuleFileName[0], SizeOf(ModuleFileName));
Result := ModuleFileName;
end;
2)方法二:
Function GetDllPath:string;
var
ModuleName:string;
begin
SetLength(ModuleName, 255);
//取得Dll自身路径
GetModuleFileName(HInstance, PChar(ModuleName), Length(ModuleName));
Result := PChar(ModuleName);
end;

二、获取调用程序路径
Function GetExecutPath:string;
var
ModuleName:string;
begin
SetLength(ModuleName, 255);
//取得调用Dll程序的路径
GetModuleFileName(GetModuleHandle(nil), PChar(ModuleName), Length(ModuleName));
Result := PChar(ModuleName);
end;
//======================
paramstr //全部字符串
paramcount //命令行参数个数
paramstr(i) //第几个参数。 paramstr(0)是运行的程序名称(包括全路径)

ExtractFileDrive :返回完整文件名中的驱动器,如"C:"
ExtractFilePath:返回完整文件名中的路径,最后带“/”,如"C:\test\"
ExtractFileDir:返回完整文件名中的路径,最后不带“/” ,如"C:\test"
ExtractFileName:返回完整文件名中的文件名称 (带扩展名),如"mytest.doc"
ExtractFileExt 返回完整文件名中的文件扩展名(带.),如".doc"

ExtractRelativePath : 返回相对路径,定义如下:
function ExtractRelativePath(const BaseName, DestName: string): string;
使用测试下如:
SysUtils.ExtractRelativePath('C:\test','C:\Test\TestRelativePath'):返回TestRelativePath
SysUtils.ExtractRelativePath('C:\Test\TestRelativePath','C:\test'):返回'..\TestRelativePath'
SysUtils.ExtractRelativePath('C:\Test\TestRelativePath\','C:\test'):返回'..\..\TestRelativePath'
ExtractShortPathName :返回短文件名,即8+3,文件名长八位,扩展名为3号,为保持DOS系统兼容而存在

相关阅读 >>

Delphi 如何取得键盘每个键

Delphi twebbrowser 用法

Delphi parent属性的另类用法

Delphi 时间增加一小时的技巧

Delphi货币类型转中文大写金额

Delphi 24位真彩色图形转化为ico文件

Delphi webbrowser1 execwb 复制 新建 打开

Delphi 程序嵌入桌面效果的实现

Delphi操作文本文件简介

Delphi获取默认浏览器

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...