[英]Sharing variable between C# and C
我已經看到了幾乎相同問題的一些答案,但是沒有C#代碼可以幫助我理解。
我有一個C ++ .DLL文件注入到內存中。 雖然,此DLL只是從應用程序中獲取信息,還從C#.exe獲取信息。
C#exe信息將每秒更改一次,而C ++信息將僅更改一次或兩次。
如何在兩個正在運行的應用程序之間創建共享變量,以及如何對其進行讀寫?
謝謝!
如果要構建可靠的解決方案,則應使用以下方法:
其他類型的交互也是可能的,但我不鼓勵使用它們。 這些附加類型並不簡單,定義也不明確,包含警告等。上述3種方法允許構建復雜的應用程序。
要調用C ++函數,請添加到程序集中:
[DllImport("User32.dll")]
static extern Boolean MessageBeep(UInt32 beepType);
這表明User32具有您要調用的入口點MessageBeep
。 之后,您可以將其用作任何其他功能:
MessageBeep(0);
您可以通過類似的方式在自己的DLL中調用GetProcAddress
或任何其他入口點。
我將使用命名管道,以便兩個進程可以輕松地相互通信! (C#服務器和C ++客戶端)
感謝大家的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.