通过TEB结构获取主线程ID,XP系统下测试通过,不同系统的TEB结构可能有所不同。
View Code
function GetThreadID:DWORD; asm xor esi,esi mov eax,fs:[esi + $ 18 ] mov eax,[eax + $ 24 ] end ; procedure TForm1.Button1Click(Sender: TObject); var thid: DWORD; begin thid : = GetThreadID; ShowMessageFmt( ' %d ' ,[thid]); end ;