作者RexBT (Rex)
看板Programming
標題[問題] 請問如何進行程式間的溝通通知(callback)
時間Tue Jul 2 13:33:44 2013
想請問:
例如如果今天有兩隻應用程式A、B。
A、B都是併行處理的,都有一定的task。
但A可能需要知道一些硬體上的改變,例如按下某個按鍵、或者螢幕的翻轉
當被通知按下某個按鈕,或螢幕已經被翻轉後,A就進行處理,不然A照default處理
由B去monitor這項硬體的改變。
目前大概知道的方式有:
MailSlot
Pipe
WM_COPYDATA
剪貼簿
socket等
但以上似乎都有些不太適合
有上網看過相關callbak的文章,但大多數提供的sample都是在同一隻程式中跑
想知道callback function在兩支不同的實作,不知道版上有無大大對callback比較熟悉的,可以為小弟質點迷津?
例如
A啟動後,一直做print"."的動作,
B啟動後開始監測有無按下鍵盤某鍵? 當按下某鍵後,B使用callbak function告訴A,
之後A便改print"*"
這樣的話要怎麼在兩隻程式,不同的程式碼做溝通呢?
需要寫DLL嗎?
不知道有沒有先進有類似的sample code?
感激不盡 (希望以C++)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.182.145
1F:→ azureblaze:function不能跨process 118.168.84.108 07/02 13:40
2F:→ azureblaze:乖乖研究上面幾種吧 118.168.84.108 07/02 13:41
您的意思是?callback function不能跨process嗎
所以不能放在A、B兩隻程式裡吧?連使用DLL也不行嗎?
※ 編輯: RexBT 來自: 60.251.182.145 (07/02 13:47)
3F:推 hichcock:Message 可能比較適合你 60.248.105.226 07/02 13:50
Message試紙小弟指的那上面的幾中方式嗎?@@
※ 編輯: RexBT 來自: 60.251.182.145 (07/02 13:55)
4F:→ hichcock:是的...請 google 一下 windows message 60.248.105.226 07/02 14:03
這個我看過,可能我描述得不是很好
這篇知道callback不能跨process了
我看我在描述詳細我想問的好了@@
※ 編輯: RexBT 來自: 60.251.182.145 (07/02 14:17)
5F:→ Blueshine:google 'inter process communicate' 220.136.38.219 07/02 14:57
6F:推 RouterHsieh:你這很明顯的是需要IPC吧...XD 114.34.86.26 07/02 17:28
7F:推 drm343:看完我只想到 Erlang...XD 118.163.91.90 07/04 13:41
8F:→ kdjf:ptrace? (被打 140.112.245.32 07/05 07:51
9F:→ vber:shared memory 可能會好一點!! 175.180.87.203 07/06 18:50
10F:→ yauhh:當你認定callback就是windows messaging而 36.226.98.239 07/07 09:02
11F:→ yauhh:callback不能跨process,一個方案就被你丟掉. 36.226.98.239 07/07 09:03
12F:→ lulala453:named pipe 1.163.31.94 07/08 21:52