получение ID процеса
Код:
Function getProcessId(Exename:string):Dword;
var snap:DWORD;
pe:TprocessEntry32;
begin
result:=0;
snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if snap <>INVALID_HANDLE_VALUE then begin
pe.dwSize:=sizeof(TPROCESSENTRY32);
if process32First(snap,pe) then
repeat
if pe.szExeFile=exename then begin
result:=pe.th32ProcessID;
closehandle(snap);
exit;
end;
until not process32Next(snap,pe);
closehandle(snap);
result:=0;
end;
end;
А по ID уже можно найти сам handle.
Так же можешь использовать функцию FindWindow...