高人呀~~~~~~~~~(300分)

  • 主题发起人 主题发起人 花园风味
  • 开始时间 开始时间

花园风味

Unregistered / Unconfirmed
GUEST, unregistred user!
进程2直接访问进程1中的方法(可以是进程1中加载的dll中的方法)
例如:
进程1中有个数据连接,进程2可以直接使用,不必重新初始化
见(http://expert.csdn.net/Expert/topic/1305/1305153.xml?temp=.5877649)

高人们给点思路吧!
 
up
我也想学习!!
 
不同的进程运行在不同的地址空间,它们内存是互相不可见的,怎么可能随便访问哪?
除非用Com,而且接口上的方法的参数的类型也有限制.
 
这样即使可以,最好也别使用,两个进程有一个出了问题断了,你岂不是死翘翘!
兄弟,用其它的办法吧!
 
还是想学习学习:)
[:D]
死就死吧!
呵呵`~~`

谁能给点思路?
 
1.用 SendMessage API,如上所述。如果接受消息的进程在执行消息处理过程
中崩溃,等待这个函数返回的进程跟着玩完。
2.使用com技术,具体怎么实现看相应的资料。
总之你想在一个进程中直接知道另一个进程的地址去运行它是完全不可能的.
 
建议..这种问题用com解决..
 
好难啊,我连问题都看不懂,顶顶
 
代码是共享的,数据是独立的。
想不什么道道来! @_@
 
[:(][:(][:(][:(][:(][:(]
 
[:(!][:(][:(!][:(][:(!][:(]
 
直接调用不是太容易,可以考虑放一个stub到进程1中去,
然后使用某种IPC机制在进程2和进程1的stub之间通讯
思路大概如此,自己实现比较麻烦,简单的办法是在进程1
中实现一个运行时COM Component Server,动态注册,
然后进程2建立进程外COM对象,以OLE方式进行通讯,
类似在Delphi中控制Word的思路,不过得比较熟悉COM才行 :(
最好将共用的部分从两个进程中抽象出来,丢到一个COM+组件里
然后通过COM+提供的基础服务来控制,这样比较方便
 
学习学习
 
首先吓大家一吓:这种进程注入的方法是有高手研究并成功的。
然后吓自己一吓:所有进程互访通过的是两个方法,一个是系统内核级的调用,另一个是
共享区域的调度。
需要说明的是,你看得懂的部分,都是我呕心沥血写的,你看不懂的或
者有错误的,肯定不是我写的,我也不知道是谁写的。
 
进程注入也能算是什么高深技术码?《Windows核心编程》里面早就有过介绍,
网上也有至少三四种可行的解决方法的讨论,现在实现也只是个工作量的问题而已

btw: 有必要从内核级走吗?这种方法基本上没有什么优势,
IPC理论上都是用内存映射文件实现的,只是表现手段不同罢了
 
谢谢你们给的有关资料.
 
新年了,旧的不去新的不来!
[:)][:D][8D]
散分散分
[^]
 
后退
顶部