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

Вниз

Find and Kill   Найти похожие ветки 

 
SH ©   (2003-06-11 14:07) [0]

Find and Kill
--------------
Нужна программа, которая бы отслеживала активный процесс и, если сей
процесс был помечен админом как неугодный, тут же его прибивала.
Стараюсь писать без использования VCL и форм, вот что получилось:

program project;
uses
Windows,
Messages;
var
wnd,wnd2:HWND;
begin
while true do
begin
wnd:=getactivewindow;
wnd2:=findwindow(nil,"Run ie");
if wnd=wnd2 then
( wnd,wm_activate,1,1) Find and Kill
--------------
Нужна программа, которая бы отслеживала активный процесс и, если сей
процесс был помечен админом как неугодный, тут же его прибивала.
Стараюсь писать без использования VCL и форм, вот что получилось:

program project;
uses
Windows,
Messages;
var
wnd,wnd2:HWND;
begin
while true do
begin
wnd:=getactivewindow;
wnd2:=findwindow(nil,"Run ie");
if wnd=wnd2 then
postmessage(wnd,wm_activate,1,1);
end;
end.

Имхо, проблема с циклом: не прибивает эта прога ничего.
PS. Цикл нужен для обработки ситуации, когда неугодную прогу запущают ещё
раз и ещё раз, и ещё... Короче схема проста:
1) Определить хэндл активного окна
2) Определить хэндл неугодного окна (если оно запущено, но неактивно)
3) Если хэндлы совпали, делаем вывод, что запретная прога активна и
прибиваем сие безобразие
4) см 1)


 
Digitman ©   (2003-06-11 15:01) [1]

1. Если окно неактивно, это не есть факт неактивности процесса, его создавшего.

2. getactivewindow() определяет активное окно только того код.потока ( текущего процесса ! а не "чужого"), который создал это окно

3. в приведенном коде (даже при всем несоответствии его алгоритма условиям поставленной задачи) нет ничего похожего на попытку "прибить прогу"


 
clickmaker ©   (2003-06-11 15:08) [2]

может всет-ки WM_CLOSE, а не WM_ACTIVATE ?


 
SH ©   (2003-06-11 16:36) [3]

>может всет-ки WM_CLOSE, а не WM_ACTIVATE ?

OK: wm_quit or wm_close

Мастера, как же решить задачку? Что юзать есть правильно? (касательно WinAPI)


 
clickmaker ©   (2003-06-11 16:46) [4]

EnumWindows + PostMessage(Handle, WM_CLOSE



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
14-45016
Marser
2003-07-29 00:06
2003.08.14
Именинники 29 июля


14-45154
Alik$
2003-07-30 21:22
2003.08.14
Где найти компоненты помогите ?


14-45126
MetalFan
2003-07-30 13:05
2003.08.14
снова про автозапуск


14-45062
Арамис
2003-07-28 02:11
2003.08.14
Дипломная работа по RLE


14-45080
Lony
2003-06-14 02:55
2003.08.14
Hook на создание окна.