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

Вниз

Помогите плиз достать иконку!!!!!!   Найти похожие ветки 

 
ted ©   (2002-04-11 10:51) [0]

Может быть кто-нибудь знает как достать иконку из .exe файла????


 
Song ©   (2002-04-11 11:09) [1]

ExtractAssociatedIcon()


 
gek   (2002-04-11 11:20) [2]

Есть в Delphi пример
Resxplor


 
DenKop ©   (2002-04-11 22:27) [3]

uses ShellApi
var
Icon:TIcon;
...

begin
Icon.Handle:=ExtractIcon(hInstance,FileName,0);
...
end;

В Icon"е будет первая попавшаяся иконка файла.
Подробнее смотри в SDK.


 
Neolord   (2002-04-14 04:22) [4]

restorator 2.50 или irfanView 0.5 и выше


 
copyr25 ©   (2002-04-15 23:19) [5]

unit Unit1;
// How to extact an icon from exe
// and paint it?
interface

uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
ShellAPI, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
IconIndex : word;
h : hIcon;
begin

IconIndex := 0;
h :=
ExtractAssociatedIcon(hInstance,
"C:\WINDOWS\NOTEPAD.EXE",
IconINdex);


DrawIcon(Form1.Canvas.Handle,
10,
10,
h);
end;


end.


 
Толик ©   (2002-04-16 10:59) [6]

Народ, а кто-нибудь знает, как из иконки 32x32 сделать 16x16??? Например ф-я ExtractIconEx умеет возвращать иконки 16x16.

Если рисовать через DrawIconEx это получается как-то кривовато.


 
Song ©   (2002-04-16 11:06) [7]

2Толик © (16.04.02 10:59)
ExtractIconEx() может возвращать как и большие так и маленькие.


 
Толик ©   (2002-04-16 11:15) [8]

to Song ©:
Ну так я о том и говорю, что ExtractIconEx() умеет это делать, а ExtractAssociatedIcon() - нет. У меня есть список файлов, для каждого из них я рисую свою иконку, взятую через ExtractAssociatedIcon(). А рисую я их в выпадающем списке, поэтому 32x32 туда не влезает. Вот я и хочу сделать 16x16. Через DrawIconEx это конечно получается, но рисуются они кривовато (по крайней мере не так, как взятые через ExtractIconEx). Вот я и хочу узнать, как из 32x32 сделать 16x16, чтобы они рисовались красиво???


 
Song ©   (2002-04-16 11:22) [9]

2Толик © (16.04.02 11:15)
А чего Вы взялись за этот ExtractAssociatedIcon()
Что Вам мешает дёргать их через ExtractIconEx()? Там также.
А если рисовать с масштабированием, действительно получается кривовато, артефакт сжатия всегда присутствует, особенно когда маленький размер сжимаемого изображения.


 
Толик ©   (2002-04-16 11:35) [10]

to Song ©:
>>А чего Вы взялись за этот ExtractAssociatedIcon()

Приходится... Удобно для зарегистрированных расширений, например .dll .hlp и проч. Можно крнечно по реестру полазать и узнать какая иконка берётся из Explorer.exe для dll"ек и взять её оттуда, но мне кажется что это криво. Через ExtractAssociatedIcon надёжнее...


 
Song ©   (2002-04-16 13:12) [11]

Толик © (16.04.02 11:35)
ExtractAssociatedIcon() как и ExtractIconEx()
выдерают ассоциированную икону именно с данным файлом, а не с типом этого файла т.е. ту икону, которая в нём заложена, а не та, которая предназначена в реестре для идентификации его по изображению.
А если Вы хотите иконку, которая соспоставлена для типа данного файла, тут одназначно нужен реестр или SHFile*, но данная функция работает с буфером иконок, который может и не всегда содержать нужной иконки.


 
Толик ©   (2002-04-17 12:36) [12]

to Song ©:

>>"ExtractAssociatedIcon() ...выдерают ассоциированную икону именно с данным файлом, а не с типом этого файла т.е. ту икону, которая в нём заложена, а не та, которая предназначена в реестре для идентификации его по изображению..." - ничего подобного!!! Для любого файла, с расширением, например, .dll ф-я ExtractAssociatedIcon() вернёт одну и ту же иконку! Собственно, это даже следует из её названия :) Да и проблема-то не в том, как ДОСТАТЬ иконку, а как её СДЕЛАТЬ 16x16.


 
Song ©   (2002-04-17 18:14) [13]

2Толик © (17.04.02 12:36)
Ok, попробуйте выдрать икону для любого ico или bmp файла. Ну как, сама икона файла или икона типа? :)



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
6-55247
Surf
2002-04-04 15:59
2002.06.17
Вопрос по авторизации доступа


1-55097
Ray_Parker
2002-06-02 20:43
2002.06.17
Вопрос по TTimer


1-55095
PTE
2002-06-05 17:33
2002.06.17
Что я с формой сделал то?


14-55295
Ketmar
2002-05-04 08:14
2002.06.17
хм... старею, что ли?..


1-55110
Ron
2002-06-06 10:11
2002.06.17
Иерархи