[英]How to remote invoke another process method from C# application
我有一個 C# 應用程序,我想從我的應用程序中調用一個函數名稱,例如 SendChatMessage(string message, int userid)。但是這個函數屬於我計算機上另一個正在運行的基於客戶端/服務器的應用程序。 我找不到如何做到這一點的方法。
我嘗試使用 Reflection 庫來實現,但失敗了。 希望有人幫我解決這個問題。
感謝幫助。
歡迎來到進程間通信的世界。 有很多方法可以做到這一點,比如命名管道、RPC、共享內存等。
簡而言之,您的程序在進程內運行。 另一個程序正在另一個進程中運行。 這就像你父親試圖向隔壁男孩問一些事情一樣。 這些進程可以相互通信並調用彼此的方法,或使用彼此的數據。 但不是任意的或當然的。 他們需要一些通用的通信標准。
看看這些問題:
如果您無法控制目標進程中的代碼,那么聽起來您需要使用 DLL 注入方法將代碼注入其中。
如果調用進程不需要確認或響應; 那么執行方法調用代碼的注入代碼可能會浮出水面,但如果需要響應,那么您可能需要在被注入的代碼中實現某種形式的進程間通信。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.