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

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

Как получить координаты ярлыков на рабочем столе?


a413 ©   (2003-03-29 23:16:00) 

Если работать на прямую, то координаты равны 0...


Almaz   (2003-03-30 04:14:00) [1]


> a413 © (29.03.03 23:16)
> Если работать на прямую, то координаты равны 0...

Кроме того, работая напрямую, вы можете спровоцировать ошибку доступа к памяти в Explorer"e.
Все дело в том, что сообщения типа LVM_GETITEMPOSITION передают одним из параметров указательна буфер, куда должны быть помещены координаты иконки. Однако, как вы наверно знаете, адресные пространства у каждого процесса свои, и поэтому, передаваемый вами в сообщении указатель не имеет в процессе Explorer"a никакого смысла.
Таким образом, чтобы получить доступ к координатам или тексту иконок на рабочем столе, вам придется внедрить свой код в процесс explorer"a. Как это сделать уже многократно описывалось в конференциях, подробно описано в книге Рихтера, а в "кладовке" я выкладывал пример на эту тему (насколько я помню, там было реализовано и получени координат и получение текста значков на рабочем столе).

Удачи.


Наверх

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