如何在智能设备项目中加载COM对象?

时间:2011-01-12 13:36:32

标签: c# com windows-mobile compact-framework activex

我想为Windows Mobile 5创建一个.NET CF应用程序。在这个应用程序中,我想基于ProgID(或CLSID)加载一个COM对象。

  1. 如何加载这个COM对象,以便我可以像访问另一个.NET对象一样访问它的方法?
  2. 此外:我如何以这样的方式配置Visual Studio中的项目/解决方案,当我调试应用程序时,我确信加载的COM对象是安装在设备上的COM对象,而不是可以通过调试器访问的那个?
  3. 我尝试添加.ocx文件作为参考,但是我收到了错误,我不确定问题2'。我也尝试使用

    加载COM对象
    Type type = Type.GetTypeFromProgID("my.prog.id")
    MyObject myObject = (MyObject)Activator.CreateInstance(type)
    

    ...但这会导致第二行出现InvalidCastException。


    编辑:对于记录:我正在使用64位Windows 7计算机,不确定这是否会使事情变得复杂......

1 个答案:

答案 0 :(得分:1)

您需要一个运行时可调用包装器(RCW)。有关基础知识,请参阅this MSDN article。有关ActiveX控件等更复杂的内容,请参阅this article