用VS2010调用dll ocx 有何不同?

解决方案 »

  1.   

    有一本书,叫做com本质论,建议楼主看看
      

  2.   

    对调用没有不同。http://topic.csdn.net/t/20031228/15/2611146.html
      

  3.   

    如果是VB或者是VC写的,能否用C#调用呢
      

  4.   

    用到过的dll分三种
    .net类库、COM、标准动态链接库
    第一项不说了,VB和VC都能写COM,COM需要注册,在注册表中会生成一条记录,其中包含COM的ID和存放的路径。所以COM在注册前可以放在任何位置,但修改其路径需要重新注册,否则会找不到文件,加载失败标准动态链接库只用C++写过,stdcall方式,上层动态加载,一般需要存放在可执行文件同级目录或系统路径(环境变量),可在cmd下path命令查看C#均可以调用,但方式略有不同
      

  5.   

    C#和C++都可以调用dll和ocx,但不是所有的dll C#都可以调用的
    dll接口处理上麻烦一点吧,ocx本质上还是dll 可以把ocx退化成dll使用
    ocx使用起来方便的多
      

  6.   

    用regsvr32 注册是总是提示:已加载dll,但没有找到dllregisterserver输入点,无法注册这个文件。为何??
      

  7.   

    已经确定这个dll不是com。不用注册有能调用。  用DLLImport能够调用,但不知道到底是调用哪个位置的DLL。
      

  8.   

    [DllImport("xxx.dll", CharSet = CharSet.Ansi)] //dll那里可以写成相对路径,也可以写成绝对路径!
    public static extern int Test();
      

  9.   

    我仔细分析了DLL和OCX的差别,主要在于OCX有事件,那么如何才能够捕获这些事件呢?
      

  10.   

    1,瞎说
    2,事件 有的是 通过tlb文件,有的通过自动化方式 ,发布
      

  11.   

    那高人,如何绑定OCX的事件呢?
      

  12.   

    C# 基本和.net 事件差不多
    c++ 调用,就相当麻烦了
    具体看com 本质论
      

  13.   

    那本书确实将COM介绍得很清楚,可惜啊,没有谈及C#如何调用