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

Вниз

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

 
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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.008 c
14-69489
Николай Быков
2002-11-01 18:05
2002.11.21
Встреча Мастаков в Новосибирске


3-69098
Sers
2002-11-02 10:34
2002.11.21
select * from Table - не работает


1-69358
Guest2
2002-11-12 19:45
2002.11.21
Как проверить завершение процесса из своей проги?


1-69237
Sergy
2002-11-11 17:29
2002.11.21
Createprocess


3-69162
Шурик Ш
2002-10-31 13:51
2002.11.21
Календарь под кнопочкой





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский