Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перехватить закрытие окна через Task Manager 
:(
    Опции темы
Solomon
  Дата 31.3.2010, 11:55 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



Всем, привет
Передо мной стала задача. При закрытии окна открывать ссылку в браузере. Так вот среди прочих закрытий необходимо так же учесть возможность закрытия преложения через Task Manager.

Может кто то сталкивался с данной проблемой. Возможно ли вообще перехватить данное событие? Как то никогда данным вопросом не интересовался. В гугле тоже ничего толкового не нашел.

Платформа WindowsOS.




--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
GoldFinch
Дата 31.3.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 2
Всего: 26



создай еще 1 процесс, и следи из него за первым
PM MAIL ICQ   Вверх
borisbn
Дата 31.3.2010, 13:47 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 6
Всего: 135



или сделай так, чтобы твоего процесса не было видно в Task Manager'е


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Solomon
Дата 31.3.2010, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



borisbn, не вариант... игроки будут недовольны) 

GoldFinch, тоже неочень хороший вариант плодить кучу процессов




--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
jonie
Дата 31.3.2010, 14:47 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



вообще перед убийством система пытается завершить приложение законным методом, если я не ошибаюсь... посмотрите на оконные сообщения в момент убийства


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
borisbn
Дата 31.3.2010, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 6
Всего: 135



Цитата(jonie @  31.3.2010,  14:47 Найти цитируемый пост)
посмотрите на оконные сообщения в момент убийства

это я первое, что попробывал Spy++ - нету :(


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
qwert8734
Дата 31.3.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2010

Репутация: нет
Всего: нет



на сколько я помню, через ключ в реестре можно к каждому запускаемому приложению подцепить dll. не уверен, но можно попробовать вызвать ShellExecute при отгрузке dll

кстати, приложение свое и его можно править или надо цепляться к чужому процессу?

Это сообщение отредактировал(а) qwert8734 - 31.3.2010, 15:41
PM MAIL WWW   Вверх
jonie
Дата 31.3.2010, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



ну проще всего получается запустить еще одну копию себя, сделав предварительно мьютекс какой, его и использовать как "точку ожидания"...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
qwert8734
Дата 31.3.2010, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.3.2010

Репутация: нет
Всего: нет



может и проще, если исходник есть. тут уж слово за вопрошающим, он такую информацию не дал

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

Это сообщение отредактировал(а) qwert8734 - 31.3.2010, 18:15
PM MAIL WWW   Вверх
borisbn
Дата 31.3.2010, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 6
Всего: 135



Цитата(qwert8734 @  31.3.2010,  15:34 Найти цитируемый пост)
вызвать ShellExecute при отгрузке dll

"отгрузка" dll при снятии через диспетчер не производится. проверил:
Код

BOOL APIENTRY DllMain( HMODULE hModule,
                                 DWORD  ul_reason_for_call,
                                 LPVOID lpReserved
)
{
    if ( DLL_PROCESS_DETACH == ul_reason_for_call )
    {
        FILE * f = fopen( "DLL_PROCESS_DETACH.txt", "wt" );
        fclose( f );
    }
}


файл DLL_PROCESS_DETACH.txt не создаётся при снятии из диспетчера.

Цитата(qwert8734 @  31.3.2010,  15:34 Найти цитируемый пост)
или надо цепляться к чужому процессу

к другому - это совсем просто: каждую секунду проверяешь CreateToolhelp32Snapshot


jonie, вариант - супер !!!


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
bra1ny
Дата 31.3.2010, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



NtTerminateProcess перехватить.
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
jonie
Дата 31.3.2010, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



bra1ny, за это вас могут покарать как правами так и антивирусами.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1455 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.