
09.11.2012, 00:24
|
 |
.
|
|
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
|
|
Так устроит?
Код:
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 в.д.
|