Проверял в 7-ке и XE2, нормально работает:
Код HTML:
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.Button2Click(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(TaskManager);
end;