![]() |
Mal wieder Dateierweiterungen
Hi,
ich verwende diese functions um die dateiendungen meines progs zu verwalten:
Delphi-Quellcode:
was mus ich machen bzw wie muss ich es machen, dass eine so installierte endung ein anderes icon erhält wie das mainicon des progs? mit dem iconindex komm ich irgendwie net klar!
function InstallExt(Extension, ExtDescription, FileDescription,
OpenWith, ParamString: String; IconIndex: Integer): Boolean; var Reg: TRegistry; begin Reg := TRegistry.Create; try with Reg do begin RootKey := HKEY_CLASSES_ROOT; OpenKey(Extension, True); WriteString('', ExtDescription); OpenKey('\' + ExtDescription, True); WriteString('', FileDescription); OpenKey('DefaultIcon', True); WriteString('', OpenWith + ','+IntToStr(IconIndex)); OpenKey('\' + ExtDescription + '\Shell\Open\Command', True); WriteString('', '"' + OpenWith + '" "' + ParamString + '"'); end; Result := True; except Result := False; end; Reg.Free; end; function UnInstallExt(Extension, ExtDescription: String): Boolean; var Reg: TRegistry; begin Reg := TRegistry.Create; try with Reg do begin RootKey := HKEY_CLASSES_ROOT; DeleteKey(Extension); DeleteKey('\' + ExtDescription); end; Result := True; except Result := False; end; Reg.Free; end; *MFG* |
Re: Mal wieder Dateierweiterungen
Meinst du dass in einer Datei (dll oder exe oder so) mehrere Icons sind, die verwendet werden, anstatt von vielen einzelnen???
|
Re: Mal wieder Dateierweiterungen
Hi!
Ich denke mal, er will, dass ein mit seinem Programm verknüpfter Dateityp ein anderes Icon hat als seine Programm-Datei. Ciao fkerber |
Re: Mal wieder Dateierweiterungen
korrekt
|
Re: Mal wieder Dateierweiterungen
also wie das genau funktioniert weiß ich nicht...
aber du kannst ja mal bestehende Schlüssel ansehen, zB die von Office. Da is das so... |
Re: Mal wieder Dateierweiterungen
so weit ich weiß gibt man einfach die symboldatei an und dann mit Komma getrennt den Index
|
Re: Mal wieder Dateierweiterungen
Moin Meflin,
Du kannst in Deiner Programmdatei mehrere Icons einbinden. Das MainIcon ist dann das, was Windows für Dein Programm anzeigt. Sind weitere enthalten, musst Du nur den entsprechenden Index an die Funktion übergeben. Andere Variante: Du erweitertst die Funktion dahingehend, dass beim Key DefaultIcon nicht der Pfad des Programmes genommen, wird, sondern halt das, aus dem das Icon kommen soll. BTW: Zu jedem OpenKey gehört auch ein CloseKey. |
Re: Mal wieder Dateierweiterungen
ok hab ich gemacht. wenn ich in den ordneroptionen die dateiendungen überprüf, stimmt das icon. aber im explorer wird immernoch das mainicon verwendet?!
|
Re: Mal wieder Dateierweiterungen
Moin Meflin,
dann schau Dir mal SHChangeNotify an. In Deinem Falle in Kombination mit dem Flag SHCNE_ASSOCCHANGED. Der Explorer wird sich das Icon vermutlich aus der Systemimagelist ziehen, bei der aber, sozusagen, die Änderung noch nicht angekommen ist. Ersatzweise sollte es auch ein Reboot tun. |
Re: Mal wieder Dateierweiterungen
ok jetzt passt alles!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz