Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1115|回复: 1
打印 上一主题 下一主题

COM技术

[复制链接]

1228

主题

1996

帖子

7570

积分

认证用户组

Rank: 5Rank: 5

积分
7570
跳转到指定楼层
楼主
发表于 2021-7-28 11:17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Qter 于 2021-7-29 17:47 编辑

通过一个简单的组件实现两个接口,CoCreateInstance 调用 DLLGetClassObject返回相应的组件类厂 类厂调用CreateInstance创建组件 用DLLRegisterServer向注册表中加一个组件ID,前提是要对注册表中CLSID下的结构有一定的基础。


查看dll依赖及导出信息
dumpbin.exe /exports "你的dll路径l"
或使用
depends.exe
链接:https://pan.baidu.com/s/1BdlqgfVqMxaXnxGam5hXZg上面2.2的打不开,就用下面1.0
链接:https://pan.baidu.com/s/1Nnr841wdhnO2xSAwkicudA
提取码:q1d9
提取码:wi2h


eXeScope.exe
但不能查看64位的dll
链接:https://pan.baidu.com/s/1vDF3CXSfP5WarL374ll5TA
提取码:xonu

.def有时不生效,删除后通过下面方法重新添加一下项目右键->添加->新建项->Vicual C++->代码->模块定义文件
链接器  输入  模块定义文件


奔溃重启

_wcslwr_s(s, 256);
改成
_wcslwr(s);




回复

使用道具 举报

1228

主题

1996

帖子

7570

积分

认证用户组

Rank: 5Rank: 5

积分
7570
沙发
 楼主| 发表于 2021-7-30 09:06:18 | 只看该作者
本帖最后由 Qter 于 2021-7-30 10:38 编辑

https://docs.microsoft.com/en-us ... hell/int-shell-exts
https://docs.microsoft.com/en-us ... reate-icon-handlers
https://docs.microsoft.com/en-us ... on-overlay-handlers
https://social.msdn.microsoft.co ... tion?forum=vcmfcatl
Are DllGetClassObject() etc. exported?  Run dumpbin /exports on your dll to make sure.

dumpbin /exports "E:\github\tmp\McloudOverlays\Debug\McloudOverlays.dll"
dumpbin /exports "F:\soft\overlayicon_mcloud\x64\Debug\OverlayIcon.dll"



taskkill /f /im explorer.exe & explorer
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-4-20 03:18 , Processed in 0.055596 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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