Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Разная работа приложения в 9х/ХР [D5, D7, Win95/98, WinME, WinXP]


-SeM- ©   (2004-09-28 16:07:00) 

Из ресурсов главного приложения загружается (+импорт, релоки...) и запускается одтельным тредом обычное WinAPI приложение, создающее окно с несколькими контролами. В ХР это окно создается и отображается, а в 98/Ме - создается, идет цикл обработки сообщений, но оно невидимо. Не обнаруживает его и WinSight.

В чем может быть проблема? Где рыть?


-SeM-   (2004-10-01 17:50:00) [1]

Оказалось что проблема в RegisterClass, которая в 9х не хочет регистрировать класс окна с "не настоящим" hInstance. ХР глотает не задумываясь. Извечный вопрос - что делать?


-SeM-   (2004-09-29 11:01:00) [2]

Digitman ©   (29.09.04 10:43) [6]

Огромное спасибо, Digitman!


Digitman   (2004-09-29 10:43:00) [3]

например, здесь (найдено на filesearch.ru)

собственно утилита :
ftp://ftp.prenhall.com/pub/ptr/prof_and_ref_electrical_engineering.w-041/embree/COMMON/TOOLS/SPYXX.EXE

хук-ДЛЛ ей используемая

ftp://ftp.prenhall.com/pub/ptr/prof_and_ref_electrical_engineering.w-041/embree/COMMON/TOOLS/SPYHK55.DLL

хэлп к ней
ftp://ftp.prenhall.com/pub/ptr/prof_and_ref_electrical_engineering.w-041/embree/COMMON/TOOLS/SPYXX.HLP


-SeM-   (2004-09-29 10:31:00) [4]

Digitman ©   (29.09.04 09:55) [4]

Во, хоть что-то вырисовывается. Спасибо за наводку. Теперь буду морочить голову дебагеру.


> для этой цели spyxx.exe из состава MS VisStudio

А ссылочку случаем не подскажете, чтобы только его качнуть, а то весь MS VS как то ...


Digitman   (2004-09-29 09:55:00) [5]


> из дебагера видно


из дебагера так же д.б. виден результат вызова CreateWindow[Ex] для того самого окна, которое ты ожидаешь увидеть в Task Manager

трассируй пошагово , дойди до вызова этой ф-ции, зафиксируй результат - хэндл созданного окна, сравни с результатами, выводимыми WinSight

вообще говоря, WinSight - не лучший инструмент для "шпионажа", ощутимо удобней и информативней будет использование для этой цели spyxx.exe из состава MS VisStudio


-SeM-   (2004-09-29 09:41:00) [6]

Digitman ©   (29.09.04 08:51) [2]

> раз WinSight не обнаруживает, значит, окна нет

Так в том то и вопрос, что в ХР окно приложения из ресурсов видимо, WinSight его обнаруживает, Task Manager показывает его в "Приложениях", а в 9х его нигде нет. Но из дебагера видно, что обработка сообщений Windows проходит в цикле.  Вот и возник вопрос - почему такая разница работы в разных системах. Ведь этому должно же быть объяснение. Или хотя бы догадки.


Digitman   (2004-09-29 08:51:00) [7]


> создается, идет цикл обработки сообщений, но оно невидимо.
> Не обнаруживает его и WinSight.


раз WinSight не обнаруживает, значит, окна нет


> Cobalt ©   (29.09.04 00:09) [1]


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


Cobalt   (2004-09-29 00:09:00) [8]

В объяснении задачи :)
Непонятно, что именноты делаешь.
Какие-то  (+импорт, релоки...) - что это такое??? К чему оно имеет отношение?


Наверх

Титульная страница Поиск, карта сайта Написать письмо