![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить список процессов [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;