Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.012 c
3-85319
KDS
2002-09-06 15:07
2002.09.26
SUSPEND в ХП


3-85336
mikl123
2002-09-04 11:16
2002.09.26
Передача данных в ClientDataSet


4-85779
DarkSimpson
2002-08-07 17:43
2002.09.26
Замена стандартной панели задач и system-tray ю


1-85442
Skif
2002-09-16 08:02
2002.09.26
Переименовать по маске


14-85663
Driverrr
2002-08-30 20:33
2002.09.26
Диррективы компилятора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский