我需要运行这段代码:
asm
push eax
mov eax, esp
push 0
push 4
...
call NtQueryInformationThread
...
end;
但是我收到 NtQueryInformationThread 是“未声明的标识符:'NtQueryInformationThread'”的错误消息。
你能帮我申报吗?提前致谢。
我需要运行这段代码:
asm
push eax
mov eax, esp
push 0
push 4
...
call NtQueryInformationThread
...
end;
但是我收到 NtQueryInformationThread 是“未声明的标识符:'NtQueryInformationThread'”的错误消息。
你能帮我申报吗?提前致谢。
你缺少的是你需要让你的程序从ntdll.dll
. 更重要的是,你不需要asm
它,你真的应该避免使用它,因为它会使你的程序难以维护。
您可以像任何其他 Windows API 函数一样导入该函数:
function NtQueryInformationThread(
ThreadHandle: THandle;
ThreadInformationClass: THREADINFOCLASS;
ThreadInformation: Pointer;
ThreadInformationLength: ULONG;
ReturnLength: PULONG
): NTSTATUS; stdcall; external 'ntdll.dll';
您还需要几个类型声明:
type
NTSTATUS = LONG;
THREADINFOCLASS = DWORD;