c # — Поймать сообщение о создании окна при запуске приложения

Я пытаюсь выяснить, как перехватить сообщение, которое отправляется для создания окна при запуске приложения. Я хочу поймать это сообщение и каким-то образом сохранить его, а затем отправить обратно через 10 секунд.

Поэтому я могу перехватить сообщение до того, как оно создаст окно приложения, а затем отправить его обратно самому.

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

Мое приложение прослушивает запуск блокнота

Мое приложение захватывает сообщение для создания окна

Мое приложение хранит сообщение и задерживает создание окна на 5-10 секунд

Мое приложение отправляет сообщение обратно, и окно блокнота создано.

Может кто-нибудь немного помочь мне с выполнением этого? У меня нет проблем с попытками сделать это в C #, vb.net или C ++. Так что любая помощь будет отличной.

-1

Решение

То, что вы ищете, на самом деле существует в окнах, это называется «зацепка» (никакого отношения к дамам вечера). Это все родной код win32. Вот старая статья (11 лет назад!), Которая попадает в основные моменты http://www.codeproject.com/Articles/2082/API-hooking-revealed.

Хукинг сложен в использовании, но если вы овладеете им, вы многому научитесь. Это также отличный материал для написания троянских вирусов и т. Д., Поэтому для его использования требуются повышенные привилегии. Без проверки новые версии Windows могли заблокировать некоторые из упомянутых статей, но если у вас есть полные права, я подозреваю, что большая часть или все это все еще работает.

Если вы действительно заинтересованы в том, чтобы узнать, как на самом деле работает обмен сообщениями, вам не нужно углубляться в зацепку. Научитесь использовать Spy32 (или его эквивалент) и переопределите обработчики сообщений в некоторых обучающих исполняемых файлах, которые пишут сообщения друг другу и обратно, и вы узнаете больше об окнах, чем о других.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru