[問題] 請問如何進行程式間的溝通通知(callback)

看板Programming作者 (Rex)時間11年前 (2013/07/02 13:33), 編輯推噓3(309)
留言12則, 9人參與, 最新討論串1/1
想請問: 例如如果今天有兩隻應用程式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

07/02 13:40, , 1F
function不能跨process
07/02 13:40, 1F

07/02 13:41, , 2F
乖乖研究上面幾種吧
07/02 13:41, 2F
您的意思是?callback function不能跨process嗎 所以不能放在A、B兩隻程式裡吧?連使用DLL也不行嗎? ※ 編輯: RexBT 來自: 60.251.182.145 (07/02 13:47)

07/02 13:50, , 3F
Message 可能比較適合你
07/02 13:50, 3F
Message試紙小弟指的那上面的幾中方式嗎?@@ ※ 編輯: RexBT 來自: 60.251.182.145 (07/02 13:55)

07/02 14:03, , 4F
是的...請 google 一下 windows message
07/02 14:03, 4F
這個我看過,可能我描述得不是很好 這篇知道callback不能跨process了 我看我在描述詳細我想問的好了@@ ※ 編輯: RexBT 來自: 60.251.182.145 (07/02 14:17)

07/02 14:57, , 5F
google 'inter process communicate'
07/02 14:57, 5F

07/02 17:28, , 6F
你這很明顯的是需要IPC吧...XD
07/02 17:28, 6F

07/04 13:41, , 7F
看完我只想到 Erlang...XD
07/04 13:41, 7F

07/05 07:51, , 8F
ptrace? (被打
07/05 07:51, 8F

07/06 18:50, , 9F
shared memory 可能會好一點!!
07/06 18:50, 9F

07/07 09:02, , 10F
當你認定callback就是windows messaging而
07/07 09:02, 10F

07/07 09:03, , 11F
callback不能跨process,一個方案就被你丟掉.
07/07 09:03, 11F

07/08 21:52, , 12F
named pipe
07/08 21:52, 12F
文章代碼(AID): #1HqcOzEL (Programming)