嘿嘿 我刚学com 不太懂 自己注册了接口 发现调用根本不是跨进程的 我查了一下跨进程需要LPC,我想大概问一下问什么我的接口注册了 却和dll差不多呢 ,到底怎么才能真正跨进程,有没有特别实用的例子,看书里写的太简单了很模糊,如果有什么好招实现跨进程调用的(exe注入等等)好方法 也用例子教教我呗 谢谢拉啦啦啦啦啦啦啦啦啦

解决方案 »

  1.   

    我不知道你的开发工具是纯C++还是ATL,如果ATL,wizard搞定一切,如果是纯C++有点复杂
    调用是一样的,关键是服务器是exe程序
    你的COM服务器必须有这样一个函数:
    extern "C"                                                   
    int WINAPI _tWinMain(HINSTANCE hInstance,                    
        HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd);
    在lpCmdLine中作出RegisterServer或UnregisterServer判断,然后把所有的Class Object CreateInstance,把所有Class Object在SCM注册,服务器exe保持运行Client创建对象时,会询问注册表,然后找出你的exe所在,然后SCM调用main(),然后SCM调用你Class Object的已经注册的IClassFactory接口,然后就好用了。
      

  2.   

    要做进程外组件,应该创建项目时就选择EXE或者服务,不要选择DLL
      

  3.   

    请问啊  我注册组件 是不是也不是跨进程 是不是也是和dll差不多 我想跨进程实现调用函数,我现在知道函数 但是最好呢 不改动对方进程 因为就像做个累死测试的小工具,就这样而已 您有高见不 ,我主要想搞明白这个com到底怎么回事 我看了com技术内幕 就前几天 今天又温习了一遍 里面的例子也没说跨进程 注册的组件确实调用了 可是就一个进程 根本不是跨进程啊 我照着例子一点点研究的 当我实现的时候才知道我做的东西不是自己想要的 所以只能求助了 我有点迷茫了。指导指导 哈哈
      

  4.   

    http://download.csdn.net/detail/qipanliming/4225135