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

Вниз

Как найти значек, с которым ассоциирован данный файл.   Найти похожие ветки 

 
Magician   (2004-01-02 11:03) [0]

Как найти значек, с которым ассоциирован данный файл. Спасибо за помощь. И естественно
С Новым Годом!!!


 
Эли   (2004-01-02 11:52) [1]

А иконка, скорее всего, находится в самом исполнимом файле, который ассоциирован с твоим файлом.

Такой файл с расширением *.dpr создает exe, который регистрирует иконку (приложение без форм).

Разберешься, что там происходит?

program Project1;

uses
Windows, SysUtils, Registry ;



{$R *.RES}

Procedure MyRegistry
(
Ext: string;
NameInRegistry: string;
Description: string;
ExeFile: string;
NumOfIcon: integer
);

var Reg:TRegistry;
begin

Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CLASSES_ROOT;
Reg.LazyWrite:=false;

Reg.OpenKey(Ext, true);
Reg.WriteString("",NameInRegistry);
Reg.CloseKey;

Reg.OpenKey(NameInRegistry,true);
Reg.WriteString("",Description);
Reg.CloseKey;

Reg.OpenKey(NameInRegistry+"\shell\open\command",true);
Reg.WriteString("",ExeFile+" "%1"");
Reg.CloseKey;

Reg.OpenKey(NameInRegistry+"\DefaultIcon",true);
Reg.WriteString("", """+ExeFile+"""+","+IntToStr(NumOfIcon));
Reg.CloseKey;

Reg.Free;

end;

begin

MyRegistry(".0123","MySoftware0123",
"Описание","c:\0123.exe",1);

end.


 
Magician   (2004-01-02 11:58) [2]

спасибо


 
Magician   (2004-01-02 13:32) [3]

А какой параметр необходимо поставить в
DrawIcon( {...} ,0,0,ExtractIcon(0,"c:\temp\1.txt",0));
чтобы у меня иконка вывелась в image1


 
Юрий Зотов   (2004-01-02 13:59) [4]

1. Думаю, все же проще было бы вызвать ExtractAssociatedIcon.

2. В Вашем случае это Image1.Canvas.Handle. А вообще так:

Для рисования нужен контекст устройства - DC. Если Вы рисуете на канве VCL, то это Canvas.Handle, а если нет то для любого окна его можно получить так:

var
DC: HDC;
begin
DC := GetDC(хэндл_окна); // еще посмотрите GetWindowDC
try
... // что-то рисуем
finally
ReleaseDC(хэндл_окна, DC)
end
end;


 
Magician   (2004-01-02 14:22) [5]

Спасибо за ответ, только у меня воопрос по чему не работает

DrawIcon(Image1.Canvas.Handle,0,0,ExtractIcon(0,"c:\temp\1.txt",0));

файл существует, может не правильно указан параметр в Extracticon(первый)???


 
Юрий Зотов   (2004-01-02 17:23) [6]

> Magician (02.01.04 14:22) [5]

ExtractIcon переводится, как "извлечь иконку". А чтобы что-то из чего-то извлечь, сначала нужно чтобы это что-то в этом чем-то находилось.

Вы пытаетесь извлечь иконку из текстового файла. Вопрос - а откуда она там взялась?


 
jack128   (2004-01-02 17:26) [7]


> DrawIcon(Image1.Canvas.Handle,0,0,ExtractIcon(0,"c:\temp\1.txt",0));
>
> файл существует, может не правильно указан параметр в Extracticon(первый)???

Разницу между Extract AssociatedIcon и ExtractIcon видим??


 
Юрий Зотов   (2004-01-02 17:26) [8]

Забыл совсем - первый параметр тоже неверен. Пишите HInstance.



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

Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
1-49551
mik_1
2004-01-01 22:29
2004.01.16
Application.ProcessMessages


14-49687
PVOzerski
2003-12-26 12:05
2004.01.16
А где в Питере ёлку подешевле купить можно?


14-49696
Ega23
2003-12-26 09:39
2004.01.16
А кто вчера тоже пил?


1-49577
Ega23
2004-01-06 14:29
2004.01.16
Каково максимально-гарантированное время доставки message?


1-49484
aser
2004-01-04 10:26
2004.01.16
Как узнать когда завершиться поток?





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