![]() |
|
|
![]()
|
|
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
если ошибся с темой - просьба ногами не бить
Интересный факт (хотелось бы узнать как такое получается). 1. Создаём в VS любое ГУИ-приложение на C++ (неважно, WinAPI, MFC, Qt...) 2. Запускаем Total Commander, открываем листером любой файл 3. Ставим в VS бряк на любую строку, которая будет выполнена (например, первые строки WinMain, InitInstance, main...) 4. Давим F5 5. Брякаемся и снова давим F5 (без бряка эфекта не увидим) 6. Читаем Output и среди прочих нормальных записей видим такое:
Внимание вопрос - откуда такое берётся |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
||||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: 3 Всего: 5 |
Любитель, а что тебе не ясно? Тотал командер при запуске приложения "через себя" типа через WinExec смотрит на свои плагины, его право.
Повторюсь, что не ясно то? Ты жмеш мышкой на приложение и Тотал Командер он его запускает САМ, а перед тем как его запускает, тоесть непосредственно перед WinExec(или ShellExec тоже его право) он волен делать все что ОН считает нужным в том числе и то что у тебя на екране появилось. Удачи. -------------------- Never again... |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
||||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: 3 Всего: 5 |
dumb, Да, согласен, криво прочитал.
Теперь согласен с тобой, похоже на хук. Это сообщение отредактировал(а) Nuzur - 1.11.2006, 14:08 -------------------- Never again... |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 2 Всего: 146 |
а что за файл смотришь листером, что за dll сам делаешь ?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
Студию запускаю не из тотала. Листером смотрю любой файл, суть в том, чтобы просто тотал в память загрузил iewie.wlx (он это делает при первой попытке использования плагина).
Не понял - про что?
Внимание вопрос: нафига он ему нужен? Добавлено @ 10:42 И ещё: почему без брейкпоинта сие не работает? Действительно интересно (мне). |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 5 Всего: 124 |
Приведите всю последовательность загрузки модулей (ту, в output, из которой Вы показали лишь ieview.wlx)
И попутно уж поставьте на LoadLibrary* break (в адресном пространстве kernel32) Это сообщение отредактировал(а) SergeCpp - 2.11.2006, 10:52 |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
Сейчас не могу, как смогу - приведу.
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
ieview.wlx использует ie-контрол для отображения, а хук ставит для обработки нажатия стандартных lister'овских клавиш(esc,1,2,3,etc) - фокус получает ie-контрол, а он о таких кнопках ничего не знает. работает. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
В смысле работает?
Я у себя запуская без бряка, закрываю, в оутпуте ничего нету (ничего интересного). Другой вариант - брякаюсь и трейсю несоклько команд. Жму F5 - тоже ничего. Тут же запускаю, брякаюсь (там же), жму F5 (без трейса) - видим весёлую надпись. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
Вот это получаем. Если делаем двумя вышеописанными способами (с трейсами или без бряков) то после msctf.dll больше ничего нет. Вообщем то это логично, три последние длл-ки явно стоят в таблице импорта ieview.wlx. |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
так как в 32b версиях виндуз это работает под любым соусом, то есть предположение об "особенностях эмуляции 32б режима в win64". msdn читать на эту тему пока лень...
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
Так ты проверял? Да? Любопытно! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |