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

Вниз

повторій запуск чужих программ - как этого избежать?   Найти похожие ветки 

 
Novichek ©   (2002-10-11 19:44) [0]

я уже наверное задолбал всех своим "explorerom", поэто му другой вопрос: а можно тогда отлавливать запускаемые программы, и если они уже были запущены, то выгружать их? если можно то как(если можно поподробнее или с примером).
Заранее спасибо.


 
Ihor Osov'yak ©   (2002-10-11 20:24) [1]

Как я понимаю, программы чужие?

Если свои - проблем нет - go to к почти любому FAQ, хотя бы местному.

Далее не рецепт, а так, мысли вслух. И не очень подробные и без примеров.


Есть две проблемы - ловля момента запуска и определение, что это уже второй экземпляр.

Первый - определение момента запуска и активации. Сравнительно просто - (во всяком случае для gui, для консольных не прорабатывал - если ошибаюсь, кто-нить и исправит) - глобальный хук на активацию окна или на получение сообщения.

Второе - посложнее. Анализ класса окна и заголовка с последующим поиском дадут не всегда однозначный ответ.
Изврат типа считаем контрольную сумму некого фрагмента кода загруженного модуля - ну не знаю, немного бредовато ...
Вычисление пути к бинарному файлу - не знаю, может и подойдет.


Зы - закрыть - уже проже - в большинстве случаев поможет посылка wm_close главному окну. Но может придется убивать и главный поток процесса, если жертва на wm_close будет сопротивлятся.





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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
1-69369
ec
2002-11-08 20:29
2002.11.21
аналог TStringList


14-69495
Vagif
2002-11-01 16:41
2002.11.21
NDD


14-69524
Николай Быков
2002-10-31 04:09
2002.11.21
У корпорации Microsoft самое качественное ПО


1-69243
VJar
2002-11-11 18:57
2002.11.21
Цвет ячейки StringGrid


3-69186
Lepa
2002-10-31 22:28
2002.11.21
Как обновлять данные нескольких таблиц при работе программы?