Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определить список процессов [D6, D7, Win95/98, WinXP]


Grassus ©   (2006-10-24 12:05:00) 

Знает кто нибудь, как по сети определить на каком компе запущены какие процессы (например WinAmp, Word и т.п.)


Орион   (2006-10-24 15:34:00) [1]

опс. Я прошу прощения. Как всегда не дочитал вопрос до конца :(


> [0] Grassus   (24.10.06 12:05)

На удаленном компьютере можно программку запустить, которая будет определять список процессов способом, что указан выше и передавать его (список) на твой компьютер.


Орион   (2006-10-24 15:29:00) [2]

uses TlHelp32;

procedure ListProcessModules(List: TStringList; ClearList: Boolean = True);
var
 SnapShot: THandle;
 PE: TProcessEntry32;
 ProcessInfo: TProcessInformation;
 ProcName: string;
 ExitCode: DWord;
begin
 if ClearList then List.Clear;
 SnapShot:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 if SnapShot=INVALID_HANDLE_VALUE then Exit;
 try
  PE.dwSize:=SizeOf(TProcessEntry32);
  if Process32First(SnapShot, PE) then
  repeat
   ProcessInfo.hProcess:=OpenProcess(PROCESS_QUERY_INFORMATION, False, PE.th32ProcessID);
   if (ProcessInfo.hProcess>32) then
   begin
    GetExitCodeProcess(ProcessInfo.hProcess, ExitCode);
    if ExitCode=STILL_ACTIVE then List.Add(string(PE.szExeFile));
   end;
  until not Process32Next(SnapShot, PE);
 finally
  CloseHandle(SnapShot);
 end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо