我已经看到几乎同一个问题的答案,但没有C#代码可以帮助我理解。
我有一个C ++ .DLL文件注入内存。虽然,这个DLL只是从应用程序中提取信息,并从C#.exe获取信息。
C#exe信息每秒都会改变,而C ++信息只会改变一次或两次。
如何在两个正在运行的应用程序之间创建共享变量,以及如何读取/写入它?
谢谢!
答案 0 :(得分:1)
如果您想构建可靠的解决方案,则应使用以下内容:
其他类型的互动是可能的,但我不鼓励使用它们。这些附加类型并不简单,并没有明确定义,包含警告等。上述3种方法允许构建复杂的应用程序。
要调用C ++ finction,请添加到程序集:
[DllImport("User32.dll")]
static extern Boolean MessageBeep(UInt32 beepType);
这告诉User32有你要调用的入口点MessageBeep
。之后,您可以将其用作任何其他功能:
MessageBeep(0);
以类似的方式,您可以调用GetProcAddress
或您自己的DLL中的任何其他入口点。
答案 1 :(得分:0)
我将使用命名管道,这样两个进程就可以轻松地进行通信! (C#服务器和C ++客户端)
感谢大家的帮助!