Главная страница
    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.46 MB
Время: 0.009 c
1-49635
Ilg
2004-01-01 16:29
2004.01.16
Заголовок компонента


6-49667
[mef]
2003-11-15 11:51
2004.01.16
инфа по WinSock


7-49785
xGhost
2003-11-04 14:41
2004.01.16
Как поставить на паузу сервис , и через несколько мин его снять


1-49603
olookin
2004-01-05 08:13
2004.01.16
Странная ошибка (иначе не скажешь)


7-49794
Геннадий
2003-11-03 15:50
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский