2012-01-26 46 views

回答

12

使用GetProcessHandleCount函數。這個API函數是由Winapi.Windows單位進口德爾福最新版本(這樣你就可以省略呈現的一個):

function GetProcessHandleCount(hProcess: THandle; var pdwHandleCount: DWORD): BOOL; stdcall; 
    external 'kernel32.dll'; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
    HandleCount: DWORD; 
begin 
    if GetProcessHandleCount(GetCurrentProcess, HandleCount) then 
    ShowMessage('Handle count: ' + IntToStr(HandleCount)); 
end; 
+1

效果很好。我使用它來檢測由於在發生網絡連接錯誤時未調用'Socket.Close()'而導致的資源泄漏。 – AlainD

相關問題