Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

Отслеживание запуска процессов   Найти похожие ветки 

 
DelphiN! ©   (2004-08-02 07:04) [0]

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


 
noname ©   (2004-08-02 07:48) [1]

Перехватывай CreateProcessA/W


 
Кириешки ©   (2004-08-02 09:48) [2]

Вот так, зная Handle окна программы можно определить имя EXE :

// Для начала определяешь какому процессу принадлежит окно:
Var pProcID : ^DWORD;
begin
GetMem (pProcID, SizeOf (DWORD));
GetWindowThreadProcessId (WinHandle, pProcID);
end;
// а после этого используешь TProcessEntry32 примерно так:
function GetExeNameByProcID (ProcID : DWord) : String;
var
ContinueLoop   : BOOL;
FSnapshotHandle : THandle;
FProcessEntry32 : TProcessEntry32;
begin
FSnapshotHandle := CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
Result := "";
while (Integer (ContinueLoop) <> 0) and (Result="") do
begin
 if FProcessEntry32.th32ProcessID = ProcID then
  Result := FProcessEntry32.szExeFile;
 ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
end;
// Не забудь в uses добавить Tlhelp32



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
1-1093504445
tamagavk
2004-08-26 11:14
2004.09.12
Цветовая гамма Windows XP


3-1092740928
Aleksandr.
2004-08-17 15:08
2004.09.12
Ошибка "Insufficient memory for this operation."


4-1091041350
Sulimxar
2004-07-28 23:02
2004.09.12
Окно между курсором и формой


1-1093136182
массив
2004-08-22 04:56
2004.09.12
Почему нельзя сделать строкой динамический массив ?


3-1092359732
CRACKISH
2004-08-13 05:15
2004.09.12
Как проверить запрос на null