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

Вниз

Как получить иконку, которая ассоцирована с типом файла?   Найти похожие ветки 

 
Sour   (2003-02-04 09:09) [0]

Вообще необходимо реализовать следующее. Пользователь выбирает любой файл (*.*), а программа должна сохранить его иконку.
Для файлов *.exe уже не раз описывалось как это сделать, а как получить иконку файла напр, *.doc, т.е. вордовскую?


 
Внук   (2003-02-04 09:25) [1]

В реестре в ветке HKEY_CLASSES_ROOT ищешь ветку именем - расширением, например .doc
Затем смотришь, куда она ссылается. В моем случае это ветка HKEY_CLASSES_ROOT\Word.Document.8
Там есть ключ DefaultIcon, где сказано, что за doc-файлами зарегистрирована иконка из файла Winword.exe за номером 1.
И т.д.


 
Gigabyte   (2003-02-04 10:30) [2]

файлы ShellAPI & ShlObj...
Структура TSHFileInfo...
Функция SHGetFileInfo.
Будет непонятно пришлю Example


 
DarkGreen   (2003-02-04 11:21) [3]

The ExtractAssociatedIcon function returns the handle of an indexed icon found in a file or an icon found in an associated executable file.

HICON ExtractAssociatedIcon(

HINSTANCE hInst, // application instance handle
LPTSTR lpIconPath, // path and filename of file for which icon is wanted
LPWORD lpiIcon // pointer to icon index
);


 
[NIKEL]   (2003-02-04 13:13) [4]

шелл апи тока подключи


HICON __fastcall GetAssociatedIcon(String Ext,bool small)
{

TSHFileInfo Info;
DWORD flags;
flags = SHGFI_ICON | SHGFI_USEFILEATTRIBUTES;
if(small) flags|= SHGFI_SMALLICON; else flags|= SHGFI_LARGEICON;

SHGetFileInfo(Ext.c_str(), FILE_ATTRIBUTE_NORMAL, &Info, sizeof(TSHFileInfo), flags);
return Info.hIcon;
}



 
Sour   (2003-02-04 20:43) [5]

>>Gigabyte

Если можно, хотелось бы примерчик увидеть.

sourpost@nvkz.net


 
Nick_N_A   (2003-02-05 05:27) [6]

класс [NIKEL]
для делфи Uses shellapi,...

flags := SHGFI_ICON or SHGFI_USEFILEATTRIBUTES;
if (false)then flags:=flags or SHGFI_SMALLICON else flags:=flags or SHGFI_LARGEICON;
SHGetFileInfo("C:\EXplorer.exe", FILE_ATTRIBUTE_NORMAL, Info, sizeof(TSHFileInfo), flags);
DrawIcon(Canvas.Handle,0,0,info.hIcon);

Не подскажите, существуют ли в си properties,
т.е. переменные, если ей присваиваешь - компилятор создает процедуру, а если читаешь - функцию чтення, а пользуешься им как переменной



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

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

Наверх





Память: 0.45 MB
Время: 0.01 c
14-6781
Юрий Зотов
2002-12-01 21:49
2003.04.03
Начинающим программистам. Этап 3.


8-6624
Calm
2002-12-27 09:57
2003.04.03
Управление порядком примитивов в собственном граф. редакторе.


7-6823
vitnt
2003-02-11 08:49
2003.04.03
Как создать программу - емулятор сом портов?


14-6687
NetBreaker666
2003-03-18 19:11
2003.04.03
Кстати, нафига нужны компоненты IntraWeb.


14-6729
NMax
2003-03-16 15:12
2003.04.03
Поиск





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский