使用的Win32 C++ API,我想已知IPC method,允許在多進程通信的任何端點,得到該進程的PID或HANDLE它正在與之通信。換句話說,如果進程A從進程B得到消息:如何獲得在進程間通信另一端點的進程id
- 可以知道B發送了消息,沒有B(直接)在發送的消息內給出任何提示嗎?怎麼樣?
- 需要量:B的 PID不能將IPC消息內被髮送到。
通信的目的是一個簡單的遠程過程調用。但是,我不希望遠程系統/主機上的進程調用在本地主機上運行的進程提供的過程。
當然我找到了RPC documentation on MSDN。但是,我想知道是否有比RPC更好的方式來實現我想要的。或者,如果您認爲RPC是要走的路,請告訴我爲什麼以及如果您知道任何其他從MSDN以外學習的好參考?
它有什麼用?如果端點在另一臺計算機上,它根本不會幫助你。另外,「句柄」只在同一個進程中有效......通常你可以通過將RPC綁定到「127.0.0.1」來解決這個問題...... –
我想通過'OpenProcess' API的返回值獲得HANDLE的同樣方法來獲得另一個進程的HANDLE。這個問題是基於可能有另一個函數返回HANDLE而不需要PID,例如,簡單地基於IPC消息。 – Benny
正如我所說:手柄是特定的過程!你不能使用不同進程的句柄做任何事情... –