1

だから私はGetThreadContextに問題があります。中断されたプロセスを作成できますが、GetThreadContext を試行すると失敗します。GetLastError を呼び出すと、エラー コード "998" が返されます。X86 ではなく、X64 でのみ失敗します。

ライン:

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 に答える