Я пытаюсь выяснить, как перехватить сообщение, которое отправляется для создания окна при запуске приложения. Я хочу поймать это сообщение и каким-то образом сохранить его, а затем отправить обратно через 10 секунд.
Поэтому я могу перехватить сообщение до того, как оно создаст окно приложения, а затем отправить его обратно самому.
Цель состоит не в том, чтобы добавить 10-секундную задержку для приложения, я просто пытаюсь немного больше узнать о системе обмена сообщениями (как поймать сообщение и отправить его самостоятельно). Я просто не уверен, что мне нужно отфильтровать, чтобы поймать создание окна другого приложения и как сохранить сообщение, чтобы я мог отправить его обратно. Я не хочу задерживать запуск всего процесса, просто создание окна.
Мое приложение прослушивает запуск блокнота
Мое приложение захватывает сообщение для создания окна
Мое приложение хранит сообщение и задерживает создание окна на 5-10 секунд
Мое приложение отправляет сообщение обратно, и окно блокнота создано.
Может кто-нибудь немного помочь мне с выполнением этого? У меня нет проблем с попытками сделать это в C #, vb.net или C ++. Так что любая помощь будет отличной.
То, что вы ищете, на самом деле существует в окнах, это называется «зацепка» (никакого отношения к дамам вечера). Это все родной код win32. Вот старая статья (11 лет назад!), Которая попадает в основные моменты http://www.codeproject.com/Articles/2082/API-hooking-revealed.
Хукинг сложен в использовании, но если вы овладеете им, вы многому научитесь. Это также отличный материал для написания троянских вирусов и т. Д., Поэтому для его использования требуются повышенные привилегии. Без проверки новые версии Windows могли заблокировать некоторые из упомянутых статей, но если у вас есть полные права, я подозреваю, что большая часть или все это все еще работает.
Если вы действительно заинтересованы в том, чтобы узнать, как на самом деле работает обмен сообщениями, вам не нужно углубляться в зацепку. Научитесь использовать Spy32 (или его эквивалент) и переопределите обработчики сообщений в некоторых обучающих исполняемых файлах, которые пишут сообщения друг другу и обратно, и вы узнаете больше об окнах, чем о других.
Других решений пока нет …