Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
14-45125
pirat
2003-06-08 15:26
2003.08.14
Как


14-45137
blackman
2003-07-29 16:55
2003.08.14
Отлаживание - это процесс избавления программы от лажи...


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


14-44998
Вопрошающий.
2003-07-29 11:35
2003.08.14
Работа для халявщиков


14-45075
AdilAliev
2003-07-27 04:25
2003.08.14
WinAPI functions




   Наверх