ďťż

Ładny brzuch

cześć

Pobieram sobie listę wszystkich aktywnych procesów w kompie. Czy jest możliwość aby do tych procesów była dopisana nazwa okna ??

np mamy otwarty program Ad-Aware w liście procesów Ad-Aware.exe nazwa programu Ad-Aware 2008

pobieranie procesów mam kod

procedure TForm1.Button1Click(Sender: TObject); var _HWND : THandle; Proc : TProcessEntry32; begin _HWND := CreateToolHelp32SnapShot(TH32CS_SNAPALL,0); Proc.dwSize:=SizeOf(Proc); // okresl rozmiar struktory if Integer(Process32First(_HWND, Proc)) <> 0 then repeat ListBox1.Items.Add(Proc.szExeFile); // dodaje sciezkie pliku do ListBox'a until Integer(Process32Next(_HWND, Proc)) = 0; // dopoki wartosc nie osiagnie 0 CloseHandle(_HWND); end;

lub taki

function ListaPlikow:TStringList; var Uchwyt:tHandle; Proces:tProcessEntry32; begin Uchwyt:=CreateToolHelp32SnapShot(TH32CS_SNAPALL,0); Proces.dwSize:=SizeOf(Proces); Result:=TStringList.Create; if Integer(Process32First(Uchwyt,Proces))<>0 then repeat Result.Append(IntToStr(Proces.th32ProcessID)+': '+Proces.szExeFile); until Integer(Process32Next(Uchwyt,Proces))=0; closehandle(Uchwyt); end; procedure TForm1.FormCreate(Sender: TObject); begin ListBox1.Items:=ListaPlikow; end;

a żeby pobrać listę okien i ich tytuły
function EnumWindowsProc(wHandle: HWND): Boolean; StdCall; Export; var PID : DWORD; title, className: array[0..128] of Char; sTitle, sClass, sLine,uchwyt, ExeName : string; begin Result := True; GetWindowText(wHandle, title, 128); GetClassName(wHandle, className, 128); sTitle := title; sClass := className; GetWindowThreadProcessId(WHandle, @PID); if IsWindowVisible(wHandle) then begin sLine := sTitle; Form1.Memo1.Lines.Add(sLine); end;

tylko nie wiem czy da radę to połączyć i nie wiem jak to połączyć

proszę o pomoc
Użytkownik ari123 edytował ten post 13 grudzień 2008, 18:52
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •