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

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

процессы


men-hen ©   (2006-07-25 23:04:00) 

как реализовать слежение за процессом
тоесть например открыт блокнот (в диспетчере задач notepad.exe)
нада отследить его активность/пассивность помогите оч надо (если можно - код я с процессами и messagе-ами не работал)
заранее всем спасибо.


Elen   (2006-07-26 10:57:00) [1]

Не на примере блокнота а вообще
library hookKey;
uses
 Windows,
 SysUtils;

var CurrentHook: HHook;  frm:Thandle;
   KeyArray: array[0..19] of char;

function GlobalKeyBoardHook(code: integer; wParam: integer; lParam:integer): longword; stdcall;
var
i:integer;

begin
 if code< 0 then
  begin
    result:=CallNextHookEx(CurrentHook,code,wParam,lparam);
    Exit;
  end;
  if (code=HCBT_ACTIVATE  )  then begin
  //**************************************************************************
  // Здесь перехватывается активирывание окна
      по Хендлу из WParam выдергивай через GetWindowText
    название окна и рули далее
 

      windows.beep(1000,100);
  //**************************************************************************
  end;

   CallNextHookEx(CurrentHook,code,wParam,lparam);
   result:=0;
end;
procedure Hook(f:thandle);
begin
frm:=f;
 CurrentHook:=SetWindowsHookEx(WH_cbt, @GlobalKeyBoardHook,HInstance, 0);

end;
procedure unhook;
begin
 UnhookWindowshookEx(CurrentHook);
end;

exports
Hook, unhook;
begin
end.


LexXL   (2006-07-26 08:08:00) [2]


> Ставь хук через SetWindowHookEx на CBT и следи за перехватываемыми
> сообщениями.


:[[
можно на примере блокнота?


Elen   (2006-07-26 07:44:00) [3]


> men-hen

Ставь хук через SetWindowHookEx на CBT и следи за перехватываемыми сообщениями. Отслеживай запуск скрин сейверов, и будеш знать, работает кто-нибудь или нет


LexXL   (2006-07-26 07:26:00) [4]

наример в диспетчере задач увеличение процессом ЦП или оперативной квоты. тоесть сохраняем картинку или документ процесс начинает что то делать.


Eraser   (2006-07-25 23:07:00) [5]

> [0] men-hen   (25.07.06 23:04)

поясни, что означает в твоем контексте "активность/пассивность"?


Наверх

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