[英]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.