如何得到在dll程序中找到自己的绝对路径? 该dll名称可修改! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ShowMessage(Application.ExeName); //Application为Dll <a href="http://fengyebar.cn.st">实例</a> function GetDllFileName: String;var intSize: Integer; arrPath: array[0..260] of Char;begin FillChar(arrPath, SizeOf(arrPath), 0); intSize := GetModuleFileName(HInstance, arrPath, 260); arrPath[intSize] := #0; result := arrPath;end; 得到路径:ExtractFilePath(GetDllFileName); FrameSniper(人类不能不吃饭@手机不能不充电.net): ShowMessage(Application.ExeName); // 返回调用 Dll 进程的文件名 我的意思是在dll程序中,找到本身dll的名字? 你有没有试我的代码??不试试就在瞎喊!!!我的那段代码返回的就是 Dll 本身的文件名(绝对路径)。 kyee(浪子阿鹏) ( ) 不好意思,我的dll是webservices,放在虚拟目录下,配置文件也在该虚拟目录下,我的程序通过activeform调用该dll.你的方法得到的是dllhost.exe,和extractfilepath(paramstr(0))效果一样,不是我调用的dll文件名 Sorry! 我没有在 webservices 中试过, 普通的 Dll 用我的方法是可以的, 试试下面的:function GetActiveDllFileName: String;var intSize: Integer; arrPath: array[0..260] of Char;begin FillChar(arrPath, SizeOf(arrPath), 0); intSize := GetModuleFileName(FindHInstance(@GetActiveDllFileName), arrPath, 260); arrPath[intSize] := #0; result := arrPath;end; GetDllFileName, GetActiveDllFileName 函数一定要放在 Dll 中, 切记! 咨询:我的delphi代码中,update语句的写法不会更新table2字段的值 一个TDBNavigator的继承问题。 关于微软CryptoAPI PKI加解密 高手请进!如何把SQL Server的用户数据库做成一个安装程序?? 请教关于数据库数据处理的问题 Delphi 连接 .dbf 库???????? 又有问题,大家来看看 关于文件夹 DirectShow播放DVD问题 关于API函数:findwindow应该怎么用? 关于AdoQuery控件使用update语句的问题 软件漂亮界面评比--大家看
var
intSize: Integer;
arrPath: array[0..260] of Char;
begin
FillChar(arrPath, SizeOf(arrPath), 0);
intSize := GetModuleFileName(HInstance, arrPath, 260);
arrPath[intSize] := #0;
result := arrPath;
end;
ShowMessage(Application.ExeName); // 返回调用 Dll 进程的文件名
不好意思,我的dll是webservices,放在虚拟目录下,配置文件也在该虚拟目录下,我的程序通过activeform调用该dll.
你的方法得到的是dllhost.exe,和extractfilepath(paramstr(0))效果一样,不是我调用的dll文件名
function GetActiveDllFileName: String;
var
intSize: Integer;
arrPath: array[0..260] of Char;
begin
FillChar(arrPath, SizeOf(arrPath), 0);
intSize := GetModuleFileName(FindHInstance(@GetActiveDllFileName), arrPath, 260);
arrPath[intSize] := #0;
result := arrPath;
end;