윈도우 캡션정보보다 실제로 실행된 실행파일 이름으로 찾는것도
좋을듯 싶습니다.. 아래 코드는, 현재 윈도우에서 실행되고
있는 모든 실행파일의 리스트를 얻는 함수입니다. 만약 노트패드가
실행되어 있다면 리스트중에서 notepad.exe 가 있을 것입니다..
uses 에 추가하세요
TlHelp32
//----------------------------------------------------------//
// 프로세스 리스트 만들기
//----------------------------------------------------------//
procedure GetProcessList( Process: TStringList );
var
Process32: TProcessEntry32;
SHandle: THandle;
Next: BOOL;
begin
Process32.dwSize := SizeOf(TProcessEntry32);
SHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if Process32First(SHandle, Process32) then
begin
Process.Add('^' + string(Process32.szExeFile) + '@' + inttostr((Process32.th32ProcessID )));
repeat
Next := Process32Next(SHandle, Process32);
if Next then
Process.Add('^' + string(Process32.szExeFile) + '@' + inttostr((Process32.th32ProcessID )));
until not Next;
end;
CloseHandle(SHandle);
end;
좋을듯 싶습니다.. 아래 코드는, 현재 윈도우에서 실행되고
있는 모든 실행파일의 리스트를 얻는 함수입니다. 만약 노트패드가
실행되어 있다면 리스트중에서 notepad.exe 가 있을 것입니다..
uses 에 추가하세요
TlHelp32
//----------------------------------------------------------//
// 프로세스 리스트 만들기
//----------------------------------------------------------//
procedure GetProcessList( Process: TStringList );
var
Process32: TProcessEntry32;
SHandle: THandle;
Next: BOOL;
begin
Process32.dwSize := SizeOf(TProcessEntry32);
SHandle := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if Process32First(SHandle, Process32) then
begin
Process.Add('^' + string(Process32.szExeFile) + '@' + inttostr((Process32.th32ProcessID )));
repeat
Next := Process32Next(SHandle, Process32);
if Next then
Process.Add('^' + string(Process32.szExeFile) + '@' + inttostr((Process32.th32ProcessID )));
until not Next;
end;
CloseHandle(SHandle);
end;