Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Извлечь иконку из EXE


Автор: спам 20.3.2009, 18:46
Вобщем вопрос в следующем. Есть WPF приложение. Необходимо извлечь иконку из любого ехе. Например есть D:\1.exe нужно извлечь иконку из него, которая отображается в Explorer. Вот чего у меня получилось:

Код

Icon ico = System.Drawing.Icon.ExtractAssociatedIcon("d:\\2.exe");
Stream s = File.Create("d:\\ico.ico");
ico.Save(s);
s.Close();


Вобщем все хорошо сохраняется но есть одно НО - сохраняемая иконка всего 16 цветов. Хотя в exe она не 16ти цветная а 32 битная.Что не так? Спасибо.
PS: Я в C# новичек но Delphi знаю на достаточном уровне. Такое там я делал а тут загвоздочка. smile
Еще раз спасибо

Автор: Skalik 20.3.2009, 20:52
http://forum.vingrad.ru/topic-234099.html

Автор: Partizan 20.3.2009, 21:03
SHGetFileInfo оооочень медленно вытягивает иконки из сетевых ресурсов smile

Автор: Skalik 20.3.2009, 21:38
возможно, не пробовал, но с локальных вытягивает с нормальной скоростью!!

Автор: спам 21.3.2009, 10:41
Skalik, спасибо за ссылку, но я не совсем понял про
Код

im.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; 


im какого типа то? Icon? не подходит пишу:
Код

Icon ico;
ico.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit; 


говорит незнаю ColorDepth. В чем проблема? Я так понял ColorDepth это свойство не Icon а ImageList. Но я не использую ImageList

Автор: спам 22.3.2009, 07:25
Ауу! Народ! Я так и не сделал, помогите чуток еще.

Автор: diadiavova 22.3.2009, 11:23
Цитата(спам @  21.3.2009,  10:41 Найти цитируемый пост)
im какого типа то?

ImageList

Автор: спам 22.3.2009, 15:19
Ну вот, мне и непонятно почему так. Я ее как только извлекаю сразу сохраняю и иконка сохраняется 16-ти цветная. Тоесть получается что извлекается уже такая, и хранится в переменной ico плохого качества. Что не так?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)