Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];

Вниз

Как отследить запуск других приложений и при необходимости запетить его?   Найти похожие ветки 

 
Маслов Толик   (2002-02-15 12:47) [0]

Как отследить запуск других приложений и при необходимости запетить его?


 
[NIKEL]   (2002-02-15 17:44) [1]

самый банальный способ, это крутить цикл по всем окнам и смотреть их title , если встретиться чё нить на подобе "Microsoft Internet Explorer" то посылать его в даун :)


 
Иван Шихалев   (2002-02-15 17:56) [2]

Еще лучше - смотреть на класс окна. EnumWindowsEx >> GetClassName


 
[NIKEL]   (2002-02-15 18:13) [3]

to Иван Шихалев
а что даст класс окна???


 
Иван Шихалев   (2002-02-15 18:34) [4]

Он стабильнее заголовка.


 
[NIKEL]   (2002-02-15 18:41) [5]

причем тут класс окна когда надо получить информацию какая это программа (ее название) ???


 
Иван Шихалев   (2002-02-15 18:49) [6]

Сейчас у меня окно эксплорера называется "Мастера DELPHI | Как отследить запуск других приложений и при необходимости запетить его? - Microsoft Internat Explorer" . Перейду на другую страницу - будет другой заголовок. А класс окна при этом не меняется.


 
[NIKEL]   (2002-02-15 18:53) [7]

хех... а что нам мешает сделать так
if (LowerCase(Title).AnsiPos("microsoft internat explorer")
{
...
}
???
и как зная класс окна узнать какому приложению оно принадлежит?


 
Иван Шихалев   (2002-02-15 19:01) [8]

А если нам нужен не iexplore? Например, WinHlp32 выдает только то, что написано в файле справки.

А узнавать приложение и не надо - просто пределить классы заранее. Я так понял, что приложения-то известны еще при написании программы.


 
Digitman (M)   (2002-02-16 17:50) [9]

Приложение ведь может быть и консольным ! А для консольного приложения окно системой не создается ! Так что, путь с поиском окон - тупиковый.
Только вот непонятно, почему вообще речь пошла о том, как принудительно закрыть некий процесс... вопрос-то стоит - как ЗАПРЕТИТЬ его запуск ? Чтобы это реализовать, надо умудриться как минимум изменить поведение ф-ции ядра CreateProcess(). А можно ли это сделать в приниципе (да еще и - корректно) - пока еще никто (кроме MS, разумеется) не додумался )))




 
Tosov   (2002-02-18 00:46) [10]


> пока еще никто (кроме MS, разумеется) не додумался


А антивирусы что делают?


 
Olgerd   (2002-02-18 12:06) [11]

Запретить запуск можно: что в реестре написано делать с файлами .exe - %1. А можно поменять на "c:\myprog.exe %1". А в своей проге уже запускать ParamStr(1) если надо. Я думаю умные люди поймут.


 
Digitman   (2002-02-18 12:27) [12]

>Tosov
>Olgerd
А почему вы рассматриваете только вариант, когда запуск происходит из оболочки - "щелчком" на ярлыке/иконке ? Что, иные условия старта процесса в Win32 как бы уже не существуют, да ? Что, программный старт порожденного процесса MS уже отменил ?


 
Olgerd   (2002-02-18 16:12) [13]

>Digitman ©
Я рассматриваю варианты, когда программу запускает пользователь. А он обычно делает так.


 
Digitman   (2002-02-18 17:02) [14]

>Olgerd
А вот ведь автор об этом, заметь - ни слова. О пользователе каком-то там.
И поэтому следует рассматривать именно общий случай - вызов тем или иным образом API-ф-ции CreateProcess()


 
Almaz   (2002-02-19 03:52) [15]

>Tosov
А для антивирусов пишется свой драйвер, который и отслеживает попытки открытия файлов.



 
_Tosov_   (2002-02-19 07:44) [16]

Digitman
А я тут при чем?
У меня сейчас антивируса нет, но думаю он и CreateProcess может перехватить. Другое дело каким образом (драйвер/перехват функции..)


 
paul_shmakov   (2002-02-19 12:12) [17]

уже в сотый раз отвечаем на этот вопрос :) если решать эту задачу правильно, то перехват нужно осуществлять драйвером. если решать криво, то перехватом вызовов api.

к сожалению, старые сообщения в форуме постоянно обрезаются, поэтому осталась одна ссылка:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1010928576&n=5



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

Форум: "WinAPI";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
1-69834
VJar
2002-04-10 21:05
2002.04.22
Как убрать проект из Alt-Tab в Windows ME???


3-69693
roman001
2002-03-18 18:27
2002.04.22
RxMemoryTable


1-69805
Petrman
2002-04-09 17:19
2002.04.22
help pls!!!


1-69858
BlackGrin
2002-04-08 21:36
2002.04.22
Изминение размеров кона с изменением внутриоконных объектов


3-69725
User_OKA
2002-04-01 09:48
2002.04.22
ADO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский