开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4327|回复: 7
收起左侧

[求助] DllRegisterServer里GetModuleFileNameA获取不到dll本身路径

[复制链接]
结帖率:100% (11/11)
发表于 2015-5-19 19:56:48 | 显示全部楼层 |阅读模式   陕西省渭南市
象做个右键菜单出来.所以下载了路过又错过的ATL包.

资源管理器右键扩展里.自带的dll是正常的.但我一句不改,再编译一次后.dll就不能用了.
后来对比注册表发现是DllRegisterServer在注册时GetModuleFileNameA调用的返回值不是dll文件的路径,而变成了注册程序regsvr32.

我的系统是Win764位.

求个解决方法或现成的右键菜单源码.
结帖率:100% (11/11)

签到天数: 23 天

 楼主| 发表于 2015-5-20 12:28:39 | 显示全部楼层   陕西省渭南市
我把源码也传一份。

GetModuleFileNameA (hModule, szFile, 260)
后来在网上搜索,有的说是hModule不能传0.不然返回就是调用进程的路径,要给dll模块的句柄。


不过我试了一下。下边这块根本就不执行。所以hModule 值就一直是0了。不知是不是这个原因呢。


Dll入口函数
ECOM_DllMain (hinstDLL, dwReason)
.判断开始 (dwReason = 1)  ' DLL_PROCESS_ATTACH
    hModule = hinstDLL
.判断 (dwReason = 0)  ' DLL_PROCESS_DETACH
.判断结束
返回 (真)


资源管理器右键扩展1.rar

77.84 KB, 下载次数: 91, 下载积分: 精币 -2 枚

回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 23 天

 楼主| 发表于 2015-5-22 10:00:57 | 显示全部楼层   陕西省渭南市
hModule = GetModuleHandleA (文件名)
GetModuleFileNameA (hModule, szFile, 260)


目前用这个方法解决了.
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2015-5-22 10:27:18 | 显示全部楼层   浙江省宁波市
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 23 天

 楼主| 发表于 2015-5-23 06:43:34 | 显示全部楼层   陕西省渭南市
我想用ShellExt这种的.
用Hook可能不方便
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2015-9-26 18:58:21 | 显示全部楼层   福建省宁德市
hModule = GetModuleHandleA (文件名)
GetModuleFileNameA (hModule, szFile, 260)   SZFILE是什么。。一个文本变量吗?我注入后点下取路径老是崩溃
回复 支持 反对

使用道具 举报

结帖率:100% (11/11)

签到天数: 23 天

 楼主| 发表于 2015-9-26 20:58:15 | 显示全部楼层   陕西省渭南市
是文本变量.
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)

签到天数: 12 天

发表于 2020-2-15 03:36:59 | 显示全部楼层   广西壮族自治区桂林市
没精币,我看看
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表