WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Десктоп

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Десктоп
One опубликован 22-01-2002 16:00 MSK   Click Here to See the Profile for One   Click Here to Email One  
Народ, кто-нибудь работал с иконками на десктопе?

Ситуация такая: нахожу Program Manager, просматриваю его дочерние окна (их два), одно из них имеет класс SysListView32. Посылаю ListView_GetItem() с его дискрептором, получаю глобальный exception системы с перезагрузкой Program Manager. Однако, если его спрятать, то иконки исчезают, т.е. это он.

Непонятно, почему не могу дотянутся до конкретной иконки.

ADK опубликован 23-01-2002 05:42 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Возможно, дескрипторы ListView - адреса памяти объектов процесса explorer.exe, так что так просто не влезть...
ADK опубликован 23-01-2002 05:45 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Сорри, со сна такую чушь написал. Но дело наврняка в межпроцессных тонкостях.
One опубликован 23-01-2002 00:55 MSK     Click Here to See the Profile for One  Click Here to Email One     
Просидел пол-ночи, проковырялся. Бред какой-то.
Если послать ему ListView_GetItemCount, то все ништяк, результат дает. И работает все, что не связано с указателями. Можно даже двигать иконки, без проблем.

Начинаю вызывать что-нибудь связанное с указателями, получаю глобальный exception системы.

Вот и думай после такого, а не дурак ли ты?

зы. Кто то там спрашивал, как выяснить свою кнопку на taskbar'e, так вот находим TaskBar, на нем SysTabControl32, и вот вам кнопки. Но ситуция такая же, как и с иконками.

One опубликован 23-01-2002 13:09 MSK     Click Here to See the Profile for One  Click Here to Email One     
А вообще прикольно. Ставишь разные стили, и можно десктоп просматривать хот в ICON, хоть в LIST, хоть вообще в REPORT.
SUnteXx опубликован 23-01-2002 18:26 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
Про ТаскБар спрашивал я. С ним тоже приколов не мало. Взять, к примеру, все кнопки скрыть, или в QuickLanch'e все поудалять. А в ХР вообще руль с ТаскБаром. Там столько всего интересного в ТаскБаре скрыто, что ....
One опубликован 23-01-2002 18:27 MSK     Click Here to See the Profile for One  Click Here to Email One     
А ты смог все таки до своей кнопки докапаться?
SUnteXx опубликован 23-01-2002 23:55 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
2One:
Неа, а жаль:(
А может ты знаешь как?

Пиши лучше на мыло SUnteXx@pisem.net

ADK опубликован 24-01-2002 07:19 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Естественно, с указателями проблемы будут. А Вы что хотели? comctl32.dll грузится в каждый процесс и даёт указатели на адресное пространство родного процесса. А вот если дело в хуке происходит, то можно отследить, когда он выполняется в нужном процессе.
One опубликован 24-01-2002 13:06 MSK     Click Here to See the Profile for One  Click Here to Email One     
А разве user32.dll не в каждый процесс грузится? Почему же тогда не возникает проблем с GetWindowText? Или я не прав?
stan опубликован 25-01-2002 11:54 MSK     Click Here to See the Profile for stan  Click Here to Email stan     
Насколько я помню, у Рихтера была такая статейка, где он описал программу, которая запоминала расположение иконок на десктопе. Так вот там фича в том, что из другого процесса хендл на Item из ListView получать бессмысленно. Для сей задачи надо юзать хуки.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.