1

所以我遇到了 GetThreadContext 的问题。我能够创建暂停的进程,但在尝试 GetThreadContext 时失败。调用 GetLastError 时返回错误代码“998”。它只在 X64 上失败,而不是在 X86 上。

线:

IntPtr[] pInfo = new IntPtr[4];
uint[] ctxt = new uint[0xb3];
ctxt[0] = 0x10002;
if (GetThreadContext(pInfo[1], ctxt))
{
    //Other stuff done here
}
4

1 回答 1

1

您创建的进程是 32 位进程吗?如果在 64 位 Windows 上是这样,您需要调用Wow64GetThreadContext来获取它的上下文。

GetThreadContext文档中:

64 位应用程序可以使用 Wow64GetThreadContext 函数检索 WOW64 线程的上下文。

您还可以将 .NET 应用程序标记为 x86,以便它在 64 位 Windows 上作为 32 位进程运行。

于 2013-07-12T03:51:23.180 回答