Автор
|
Тема: Десктоп
|
One |
опубликован 22-01-2002 16:00 MSK
Народ, кто-нибудь работал с иконками на десктопе?Ситуация такая: нахожу Program Manager, просматриваю его дочерние окна (их два), одно из них имеет класс SysListView32. Посылаю ListView_GetItem() с его дискрептором, получаю глобальный exception системы с перезагрузкой Program Manager. Однако, если его спрятать, то иконки исчезают, т.е. это он. Непонятно, почему не могу дотянутся до конкретной иконки.
|
ADK
|
опубликован 23-01-2002 05:42 MSK
Возможно, дескрипторы ListView - адреса памяти объектов процесса explorer.exe, так что так просто не влезть... |
ADK
|
опубликован 23-01-2002 05:45 MSK
Сорри, со сна такую чушь написал. Но дело наврняка в межпроцессных тонкостях. |
One
|
опубликован 23-01-2002 00:55 MSK
Просидел пол-ночи, проковырялся. Бред какой-то. Если послать ему ListView_GetItemCount, то все ништяк, результат дает. И работает все, что не связано с указателями. Можно даже двигать иконки, без проблем.Начинаю вызывать что-нибудь связанное с указателями, получаю глобальный exception системы. Вот и думай после такого, а не дурак ли ты? зы. Кто то там спрашивал, как выяснить свою кнопку на taskbar'e, так вот находим TaskBar, на нем SysTabControl32, и вот вам кнопки. Но ситуция такая же, как и с иконками. |
One
|
опубликован 23-01-2002 13:09 MSK
А вообще прикольно. Ставишь разные стили, и можно десктоп просматривать хот в ICON, хоть в LIST, хоть вообще в REPORT. |
SUnteXx
|
опубликован 23-01-2002 18:26 MSK
Про ТаскБар спрашивал я. С ним тоже приколов не мало. Взять, к примеру, все кнопки скрыть, или в QuickLanch'e все поудалять. А в ХР вообще руль с ТаскБаром. Там столько всего интересного в ТаскБаре скрыто, что .... |
One
|
опубликован 23-01-2002 18:27 MSK
А ты смог все таки до своей кнопки докапаться? |
SUnteXx
|
опубликован 23-01-2002 23:55 MSK
2One: Неа, а жаль:( А может ты знаешь как?Пиши лучше на мыло SUnteXx@pisem.net |
ADK
|
опубликован 24-01-2002 07:19 MSK
Естественно, с указателями проблемы будут. А Вы что хотели? comctl32.dll грузится в каждый процесс и даёт указатели на адресное пространство родного процесса. А вот если дело в хуке происходит, то можно отследить, когда он выполняется в нужном процессе. |
One
|
опубликован 24-01-2002 13:06 MSK
А разве user32.dll не в каждый процесс грузится? Почему же тогда не возникает проблем с GetWindowText? Или я не прав? |
stan
|
опубликован 25-01-2002 11:54 MSK
Насколько я помню, у Рихтера была такая статейка, где он описал программу, которая запоминала расположение иконок на десктопе. Так вот там фича в том, что из другого процесса хендл на Item из ListView получать бессмысленно. Для сей задачи надо юзать хуки. |