delphi加载c语言dll文件路径,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系统兼容而存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值