Jak pobrać <ort>tytół</ort>procesu (nie nazwe pliku) znając jego PID (nie uchwyt) ?
0
0
Oto funkcja która pobieram pid programu
function TaskList(List: TStrings): Boolean;
var
PIDs: array[0..1024] of DWORD;
Handle: THandle;
Needed: DWORD;
ModuleFileName: array[0..MAX_PATH] of char;
ListIndex,i: Integer;
MemoryString: string;
begin
if (Win32Platform = VER_PLATFORM_WIN32_NT) and
(Win32MajorVersion > 3) then
begin
Result := EnumProcesses(@PIDs, Sizeof(PIDs), Needed);
if Result then
begin
for i := 0 to (Needed div Sizeof(DWORD)) - 1 do
begin
if PIDs[i] <> 0 then
begin
Handle := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ , False, PIDs[I]);
if Handle <> 0 then
begin
if GetModuleFileNameEx(Handle, 0, ModuleFileName,
Sizeof(ModuleFileName)) <> 0 then
begin
GetMemoryString(Handle,MemoryString);
List.Add(ModuleFileName+ ' - '+IntToStr(PIDs[i])+ ' - '+ MemoryString);
end;
end; // if Handle
CloseHandle(Handle);
end; // if PIDs[i]
end; // for
end; // if Result
end
else
Result := False;
end;
function GetMemoryString(ProcessID : DWord;var MemoryString: string):Boolean;
var
Bytes, Blocks,
TaskManWS, TaskManVM: Cardinal;
PMC: TProcessMemoryCounters;
const
KiloByte = 1024;
MegaByte = KiloByte * KiloByte;
begin
begin
Result := Win32Check(GetProcessMemoryInfo(ProcessID, @PMC, SizeOf(PMC)));
TaskManWS := PMC.WorkingSetSize;
MemoryString := Format(' %.0n K',[TaskManWS / KiloByte]);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
TaskList(ListBox1.Items);
end;
Chce jeszcze tylko dadac aby pobierał też tytół procesu
0
hmm... A co to Twoim zdaniem jest tyt<font color="red">u</span>ł procesu?
0
Chodzi mi oto że moge miec uruchomionych kilka takich samych aplikacji takich jak IE, tym sposobem niemoge ich odróżnić więc chce pobrać ich nazwe w górnej belce. Żeby była też mozliwość pobierania nazwy z Notepada i innych programów.
0
Do identyfikacji procesu służy właśnie PID.
Procesy nie posiadają "tytułów".
0
Pobieraj uchwyt głównego okna na podstawie PID.
Ps. Znowu mam wrażenie, że kolejny trojan się rodzi... [rotfl]