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

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

Выделенные объекты


Archer84 ©   (2005-10-13 15:05:00) 

Вопрос такой: когда в Explorer'e (Windows) выделяют какой-то объек (щелчком мыши). то можно ли получить путь к этому объекту в Delphi?

Спасибо за внимание.


DeadMeat   (2005-10-20 18:35:00) [1]


> Defunct ©   (13.10.05 17:30) [1]
> ты не прав... в программировании можно почти всё... ограничивается
> только количеством гемора для получения результата

В чем де он не прав? Где он сказал, что это не возможно?

---
...Death Is Only The Begining...


umbra   (2005-10-20 18:23:00) [2]


> Так врядли что получиться.


но вообще-то в эксплорере так все и происходит. В его зависимостях нет com.


Eraser   (2005-10-20 17:37:00) [3]


> SpellCaster   (20.10.05 14:05) [8]

Так врядли что получиться. По-моему проще использовать инструменты, созданые специально для этого.


SpellCaster   (2005-10-20 14:05:00) [4]

А как насчет такого способа:
получить окно Проводника (findwindow, getforegroundwindow...), из него выцепить хэндл контрола shellListview и уже с ним работать через API Sendmessage (LVM_XXX). Не знаю, правда, есть ли в этом контроле инфа о собственно директории, содержимое которой он отображает, но имена выделенных объектов получить можно. Путь, наверно, придётся брать из shellTreeview аналогичным способом. Придётся поэкспериментировать, конечно, зато никакого COM


Eraser   (2005-10-13 20:02:00) [5]


> Poirot ©   (13.10.05 19:45) [6]

В "Руководстве разработчика" Тейксейры с Пачеко том 1 есть несколько примеров расширения оболочки через COM, в частности, выбор значка к файлу в зависимости от содержимого файла и ещё парачка ... думаю копать надо в эту сторону.
Сам такого рода программы не делал, так что ничего конекретнее подсказать не могу.


Poirot   (2005-10-13 19:45:00) [6]

Eraser ©   (13.10.05 17:59) [5]
Я бы не сказал, что это теоритически - это вполне можно, вопрсо в другом - как организовать грамотно взаимодействие между прилдожением и расширением оболочки.. я что-то подобное делал и использщовал пайпы, но вот не уверен верно ли это:)


Eraser   (2005-10-13 17:59:00) [7]


> Poirot ©   (13.10.05 17:56) [2]

> соотв COM Тоже надо знать

О! Ключевое слово COM! Именно с пом. него и можно (теоретически) сделать сабж.
Как? - это уже другой вопрос.


Drakosha   (2005-10-13 17:58:00) [8]

имхо через хук мона.

Defunct ©   (13.10.05 17:30) [1]
ты не прав... в программировании можно почти всё... ограничивается только количеством гемора для получения результата


Poirot   (2005-10-13 17:56:00) [9]

Archer84 ©   (13.10.05 15:05)
Ну если сильно постараться, то можно всё, но только не из самой делфи:) как минимум для правильного решения потребуется знание оболочки Винды и умение писать расширения этой самой оболочки.. соотв COM Тоже надо знать:)


Poirot   (2005-10-13 17:56:00) [10]

Удалено модератором


Defunct   (2005-10-13 17:30:00) [11]

Контр вопрос, отвечающий на ваш:

Когда в вашей программе выделяют какой-то объект может ли эксплорер получить путь к этому объекту?


Наверх

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