firemail
标题:
COM技术
[打印本页]
作者:
Qter
时间:
2021-7-28 11:17
标题:
COM技术
本帖最后由 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);
作者:
Qter
时间:
2021-7-30 09:06
本帖最后由 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
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3