![]() |
|
#5
|
||||
|
||||
![]() Так устроит?
Код:
uses PSAPI, TlHelp32; ... function TaskManager : String; var Wnd, pr : HWND; buff : array[0..127] of Char; pid : Cardinal; me32 : TModuleEntry32; begin Result := ''; Wnd := GetWindow(Form1.Handle, GW_HWNDFIRST); while Wnd <> 0 do begin if (Wnd <> Application.Handle) and (GetWindow(Wnd, GW_OWNER) = 0) and (GetWindowText(Wnd, buff, SizeOf(buff)) <> 0) then begin GetWindowText(Wnd, buff, SizeOf(buff)); Result := Result + #13#10'Программа: ' + buff + #9#9; GetWindowThreadProcessId(wnd, @pid); pr := CreateToolHelp32Snapshot(TH32CS_SNAPMODULE, pid); me32.dwSize := SizeOf(me32); Module32First(pr, me32); Result := Result + ' Путь: ' + me32.szExePath; CloseHandle(pr); end; Wnd := GetWindow(Wnd, GW_HWNDNEXT); end; end; procedure TForm1.Button7Click(Sender: TObject); begin Memo1.Lines.Clear; Memo1.Lines.Add(TaskManager); end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |