不注册调用com是不是有限制

imarshal 2017-07-30 06:02:59
试了试确实可以不写注册表,但com的dll只能放在exe的目录下,有没有办法调用其它路径的com啊
...全文
177 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
l357630798 2017-08-02
  • 打赏
  • 举报
回复
1楼正解~ 个人觉得,COM组件本来就是要注册啊,不管是进程内组件还是进程外组件,不注册不知道其组件路径,也没办法用过CLSID等创建组件对象。 不注册,除非你有导出一些额外的函数等操作。
imarshal 2017-08-01
  • 打赏
  • 举报
回复
搜了搜,exe形式的com不注册按照dll的做法应该是不可以,只能用其它的方法,比如创建exe的进程然后用rot,还没试感觉可行
red-fly 2017-07-31
  • 打赏
  • 举报
回复
注册的目的应该主要是让windows系统知道有这个com组件,并且知道它的路径。 如果不注册,如果知道了这个com组件的路径肯定也是可以调用的,但是需要自己做一些工作才行。 如果不注册,这个com组件又不在自己的目录里,那至少得有个配置文件给你的程序指明这个组件的路径,否则你不可能去搜索整个硬盘来确定位置吧?就像你要去一个城市找一个人,如果这个人确实在这个城市,如果他没有给你具体地址,那你去了应该是找得到的,不过可能你得花1个月时间,或者是1年时间,再或者需要10年时间,也许还会更长时间。所以为了高效率,你总是希望那个人给你一个详细的地址,你直接找去就简单多了
imarshal 2017-07-31
  • 打赏
  • 举报
回复
引用 1 楼 jszj 的回复:
注册的目的应该主要是让windows系统知道有这个com组件,并且知道它的路径。 如果不注册,如果知道了这个com组件的路径肯定也是可以调用的,但是需要自己做一些工作才行。 如果不注册,这个com组件又不在自己的目录里,那至少得有个配置文件给你的程序指明这个组件的路径,否则你不可能去搜索整个硬盘来确定位置吧?就像你要去一个城市找一个人,如果这个人确实在这个城市,如果他没有给你具体地址,那你去了应该是找得到的,不过可能你得花1个月时间,或者是1年时间,再或者需要10年时间,也许还会更长时间。所以为了高效率,你总是希望那个人给你一个详细的地址,你直接找去就简单多了
应该是side-by-side的限制,不是试了试怎么exe形式的com不可以,也不知道CoCreateInstanceFromApp是怎么支持的

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧