Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.26;
Скачать: CL | DM;

Вниз

ListView от DeskTop   Найти похожие ветки 

 
GROL   (2002-08-06 09:28) [0]

Всем привет.

Нужно "взять" все иконки с рабочего стола. Для этого берем subj.
Делаю так:

ImageListHandle:=ListView_GetImageList(GetDesktop,LVSIL_NORMAL);
ListView_SetImageList(myListView.Handle, ImageListHandle, LVSIL_NORMAL);

Этот код работает в Win98 а в Win2k нет. Количество иконок берется. Не берется изображение, как будто ImageListHandle пустой, но он не нулевой.
Где подкрутить?

Шеловскую реализацию
SHGetFileInfo(... , SHGFI_SYSICONINDEX or SHGFI_LARGEICON)
не использую, т.к. нужен порядок, в котором иконки на десктопе,
хотя, используя ListView_GetItem, не всегда порядок точный.


 
Song ©   (2002-08-06 10:42) [1]

Нужно внедрение в чужое адресное пространство.


 
GROL   (2002-08-06 11:29) [2]

Так и сделано.
Через хук в длл говорит, вот у тебя на рабочем столе столько то иконок, так их зовут, и такие вот у них индексы для иконок. С этим нет проблем. А теперь, как эти иконки у системы взять?
Я написал, как я это сделал, но этот код работает только под Win98, а Win2000 делает вид что этот ImageList пустой :(

Я поэксперементировал. Взял родной Дельфовый пример Virtual Listview, и прикрутил колонку с номером иконки. Так вот, в Win98 эти номера хаотично разбросаны, т.е. как бы уникальны для системы. Запускаю под W2k - фиг! Иконки имеют номера по порядку как их востребовали, т.е. если перезапустить програмку, и открывать папки в другом порядке, то номера иконок не будут совпадать с теми, которые были в предыдущем запуске. :(


 
GROL   (2002-08-09 09:51) [3]

Судя по отсутствию предложений, то никак... :(
Напверно прийдется через shell их вытягивать.



Страницы: 1 вся ветка

Текущий архив: 2002.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-85373
uncleRu
2002-09-04 17:22
2002.09.26
dbExpress


3-85412
kavlad
2002-09-05 20:25
2002.09.26
BLOB Stream возвращает 0 размер.


3-85420
DenisLK
2002-09-06 14:29
2002.09.26
Посоветуйте какую сетевую БД выбрать


7-85717
Console
2002-07-16 12:32
2002.09.26
Кнопки и десктоп


14-85693
France
2002-09-02 09:25
2002.09.26
Переименовать Пуск Программы <Группа> <ярлык>