Текущий архив: 2003.04.03;
Скачать: CL | DM;
ВнизКак получить иконку, которая ассоцирована с типом файла? Найти похожие ветки
← →
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 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c