考虑以下:
int pointer = 0x0066D378;
我将如何在另一个程序的内存中检索该指针地址指向的地址?请记住,不是“指针”变量的地址,该指针地址属于另一个程序,我怎样才能从它的当前上下文中获取地址(从上述程序的内存中)?
干杯!
对于进程间通信(这似乎是您解决问题所需要的),您可以使用匿名管道或命名管道:
匿名管道: http: //msdn.microsoft.com/en-us/library/bb546102.aspx
命名管道:http: //msdn.microsoft.com/en-us/library/bb546085.aspx
操作系统负责将消息从一个进程发送到另一个进程。如果两个进程都在同一台机器上运行,我建议使用匿名管道,因为它们是轻量级的。如果它们位于同一网络上的不同机器上,则命名管道是可行的方法。
测试这个。p 值将是 testT 字符串的地址,首先分配给 int i,然后分配给 p 作为 i 的值。
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;
}
}