void RefreshThreadList (DWORD dwOwnerPID)
{
HANDLE hThreadSnap = NULL;
BOOL bRet = FALSE;
THREADENTRY32 te32 = {0};
int px=0;
hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); te32.dwSize = sizeof(THREADENTRY32); if (Thread32First(hThreadSnap, &te32))
{
px=0;
do
{
if (te32.th32OwnerProcessID == dwOwnerPID&&dwOwnerPID!=0)
{
lst[px]=te32.th32ThreadID;
px++;
}
}
while (Thread32Next(hThreadSnap, &te32));
} CloseHandle (hThreadSnap);
}
请问谁帮我把这句vc转成delphi?
lst: array[0..99] of DWORD;procedure RefreshThreadList (dwOwnerPID: DWORD );
var
hThreadSnap: THandle;
te32: THREADENTRY32;
px: Integer;
begin
hThreadSnap := 0;
fillchar(te32, sizeof(te32), 0);
px := 0; hThreadSnap := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); te32.dwSize := sizeof(THREADENTRY32); if (Thread32First(hThreadSnap, te32)) then begin
repeat
if (te32.th32OwnerProcessID = dwOwnerPID) and (dwOwnerPID <> 0) then begin
lst[px] := te32.th32ThreadID;
Inc(px);
end;
until (Not Thread32Next(hThreadSnap, te32));
end;
CloseHandle (hThreadSnap);
end;
for(int i=0;i<100;i++)
{
if(lst[i]==0)
{
break;
}
}能不能再请问下这个怎么转?
i:integer;
...
for int i:=0 to 99 do
if lst[i]=0
break;
for int i:=0 to 99 do
if lst[i]=0 then
break;