COleInsertDialog(OleUIInsertObject)对话框中判断是否是Object Type对象依据

最近在学习OLE,每当弹出一个COleInsertDialog对话框时,可以Create New 一个Object Type。我每次看到这些Object Type 对象时都在想,COleInsertDialog是怎么知道一个程序可以做个被嵌入的。查看源码时,COleInsertDialog却直接调用了OleUIInsertObject,什么也看不到。我想,在将程序做为可以被嵌入的的对象时,可能在注册表里写下了某些东西。于是开始在注册表里找跟CLSID和ProgID相关的东西(手上刚好有一个Ole server的代码),终于发现了点东西。

 

跟注注册表里的两个键值有关,

HKLM/SOFTWARE/你的程序ProID/Insertable

HKLM/SOFTWARE/你的程序ProID/protocol/StdFileEditing/server

当删除Insertable和serve键r时,就不能通过COleInsertDialog来嵌入相应的程序,因为在COleInsertDialog中不会再显示对应程序的ProID。可见,COleInsertDialog进行的判断跟这两个键还是有关系的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值