vb.net 通过类厂创建com对象的方法

    vb.net中要创立com对象可以用new或者CreateObject,就像C++中的CoCreateInstance,一步调用就直接创建了com对象。在它们之中包括了对CoGetClassObject和CreateInstance的调用。默认使用的类厂是IClassFactory。 
    一般情况下,new或CreateObject已经够用了。但是如果我们的com组件增加了授权,也就是使用了IClassFactory2接口。那么在vb中继续用这种方法就不能创建我们所需要的组件了。我们必须使用IClassFactory2。
    在C++中实现很简单。只需要通过CoGetClassObject获得IClassFactory2接口,然后调用它的CreateInstanceLic来创建组件。
    因此,在vb.net中,我们就可以仿照c++中的方法。下面是相关代码:
    首先声明IClassFactory2的接口。IClassFactory2.idl如下:

[
    uuid(6ED6AF97
- F279 - 4d57 - A392 - 0B8ACF89426C),
    version(
1.0 ),
    helpstring(
" INVENTOROCIDL Type Library 1.0 " )
]
library INVENTOROCIDL
{
    
interface IClassFactory2;

    typedef 
enum enuCLSCTX
    
{
        enuCLSCTX_INPROC_SERVER    
= 1,
        enuCLSCTX_INPROC_HANDLER   
= 2,
        enuCLSCTX_LOCAL_SERVER     
= 4,
        enuCLSCTX_REMOTE_SERVER    
= 16,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值