개발 정보/델파이
[Delphi] 델파이 현재 프로세스 스레드 수 얻기
RoRoBong
2021. 6. 11. 12:18
728x90
안녕하세요
로로봉입니다 : )
스레드를 사용하다보면 현재 개발중인 프로그램에 스레드가 몇개나 실행되고 있는지 궁금하거나 관리가 필요할 때가 종종 있습니다.
오늘은 델파이 프로그램에서 스레드 수를 얻는 방법을 알아보도록 하겠습니다.
우선 uses절에 TlHelp32를 추가해줍니다.
uses
TlHelp32;
간단히 아래 함수를 추가하여 현재 프로세스의 스레드 수를 얻을 수 있습니다.
function GetProcessThreadCount: integer;
var
SnapProcHandle: THandle;
ThreadEntry: TThreadEntry32;
Next: boolean;
begin
result := 0;
SnapProcHandle := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
if SnapProcHandle <> THandle(-1) then
begin
ThreadEntry.dwSize := SizeOf(ThreadEntry);
Next := Thread32First(SnapProcHandle, ThreadEntry);
while Next do
begin
if (ThreadEntry.th32OwnerProcessID = GetCurrentProcessId) then
result := result + 1;
Next := Thread32Next(SnapProcHandle, ThreadEntry);
end;
CloseHandle(SnapProcHandle);
end;
end;
좋아요 ♥ + 구독 부탁드립니다. : )
728x90
반응형