📄 subject_56637.htm
字号:
<p>
序号:56637 发表者:Random 发表日期:2003-10-19 17:58:18
<br>主题:有没有办法实现进程间的回调函数。(有点难度哦)
<br>内容:如果我有一个进程A,一个进程B,一个DLL,我把进程A中要回调的函数MyFunction(如:0x41000000)地址传递到DLL中,当DLL判断到B进程中某一事件发生,就回调A的回调函数去处理。但是windows进程之间是相互独立的,可以有相同的虚拟地址,所以这时DLL根据传递进来的函数地址去回调,但是这时他会调的是B进程0x4100000的函数,因为B进程在这个地址上根本不存在MyFunction函数,所以系统就报错了。<BR><BR> 有谁能知道怎么进行进程间的回调吗?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:xiongli 回复日期:2003-10-19 19:12:47
<br>内容:什么回调不回调阿<BR>你这个不就是通过dll调用其他进程里面的函数吗?<BR>你写两个dll不就可以啦,一个dll注入进程A,一个注入进程B.<BR>两个dll初始化后通过信号量通信.当需要进程调用的时候,A的dll把请求写到一个mapping file,然后激发信号量,然后自己等待,这时B里面的dll得到激发,读mapping file的信息,执行B里面的函数,然后把结果写到mapping file,然后又激发信号量,然后自己等待,这时A里面的dll就可以去取结果啦<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Random 回复日期:2003-10-19 21:25:54
<br>内容:不是问的进程间通信呀,进程间通信用映射文件,邮槽,命名管道都可以。。。。。<BR><BR>主要是想知道一下,进程间怎么进行回调函数,处理很多东西就方便了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -