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 实现qq窗体的缩入伸出功能

Delphi tstrings 随机打乱

Delphi 判断端口是否被使用

Delphi 查看字符串在不同编码(ascii、unicode、utf7、utf8、default、bigendianunicode)下的 hex

Delphi xe10 创建匿名线程

Delphi高亮显示trichedit当前行

Delphi 获取所有应用程序窗口标题 类似任务管理器

Delphi idhttp post中文的问题

Delphi 根据进程pid获取程序所在路径的函数

Delphi unigrid记录check遍历

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



打赏

取消

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

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

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

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

评论

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