请考虑以下事项:
int pointer = 0x0066D378;
如何在另一个程序的内存中检索该指针地址所指向的地址?请记住,不是“指针”变量的地址,指针地址属于另一个程序,如何从当前上下文中获取地址(来自上述程序的内存)?
干杯!
答案 0 :(得分:0)
测试一下。 p值将首先分配给int i的testT字符串的地址,然后作为i的值分配给p。
private static string testT = "test line to have an address";
static void Main(string[] args)
{
Test(testT);
}
static unsafe void Test(string str)
{
fixed (char* pfixed = str)
{
int i = (int)pfixed;
int* p = (int*)i;
int* c = p;
}
}
答案 1 :(得分:0)
对于进程间通信(这似乎是解决问题所需的),您可以使用匿名管道或命名管道:
匿名管道:http://msdn.microsoft.com/en-us/library/bb546102.aspx
命名管道:http://msdn.microsoft.com/en-us/library/bb546085.aspx
操作系统负责将消息从一个进程发送到另一个进程。 如果两个进程在同一台机器上运行,我建议使用匿名管道,因为它们是轻量级的。 如果它们位于同一网络上的不同机器上,则可以使用命名管道。