Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Dateityp mit falschem Icon (https://www.delphipraxis.net/27492-dateityp-mit-falschem-icon.html)

Luckie 11. Aug 2004 06:28


Dateityp mit falschem Icon
 
Ich habe ein eigene Dateiendung für bestimmte Dateien meines Programmes. Meinem Programm kann ich selbige als Parameter übergeben. Damit meine Dateien immer mit meinem Programm geöffnet werden, habe ich sie doppelt angeklickt und im daruffolgenden Dialog mein programm ausgewählt. Geht wunderbar. Nur hat mein Dateityp jetzt das Icon für eine RTF-Datei. Nach welchem Prinzip wählt Windows das Icon aus und wo kann man das wie ämdern bzw. beeinflussen?

MathiasSimmack 11. Aug 2004 06:41

Re: Dateityp mit falschem Icon
 
Na, weißt du doch: Registry (Beispiel: .txt -> txtfile/DefaultIcon). Wenn du nur dein Programm einträgst, dann wählt Windows eigentlich das leere weiße Blatt mit einem Symbol deines Programms drauf. Wenn du ein anderes Symbol willst und schon eins im Auge hast, dann solltest du bei dem entsprechenden Typ mal schauen, was unter "DefaultIcon" eingetragen ist.

Ich persönlich schreibe mir dann entweder eine INF- oder VBS-Datei, damit ich solche Zuordnungen auch auf anderen Rechnern benutzen kann, bzw. damit ich sie nach evtl. Neuinstallationen noch habe. So habe ich mir bspw. Proton als Editor für XML und Co. eingerichtet. Zwar ohne separates Symbol, aber das könnte man bei der Gelegenheit gleich mit nutzen.

Luckie 11. Aug 2004 06:49

Re: Dateityp mit falschem Icon
 
Genau das tut es ja nicht. Ich habe schon die gesamte Registry nach der Dateiendung durchsucht (Ist die vom "Dir2HTML Index" übrigens.). Ich habe sie nur in einem Schlüssel "FileExtentions" oder so gefunden. Und da stand dann meine Anwendung aber nichts von DefaultIcon. Unter HKCR unter den "*.xyz" Schlüsseln taucht sie nicht auf.

Wie müsste denn so eine Inf-Datei aussehen?

MathiasSimmack 11. Aug 2004 06:51

Re: Dateityp mit falschem Icon
 
Selbst reinschreiben, Luckie! Einfach unter dem internen Schlüssel "DefaultIcon" anlegen und als Standardwert den Pfad zur Symboldatei und ggf. den Index des Symbols (wenn mehrere drin sind) angeben.

MathiasSimmack 11. Aug 2004 06:54

Re: Dateityp mit falschem Icon
 
PS (für den Fall, dass du dazwischen schreibst): Ich habe gerade nicht geschnallt, dass du deine Endung wahrscheinlich über die Windows-Dialoge registriert hast. Sorry. :oops:

Da es aber um eins deiner eigenen Programme geht, könntest du dir natürlich auch mal meine TFileTypeRegistration-Unit (s. DF, Open Source Units) anschauen. Mit der kannst du die von dir gewünschte Endung quasi aus dem Programm heraus registrieren bzw. auch wieder aufheben lassen.

Luckie 11. Aug 2004 06:58

Re: Dateityp mit falschem Icon
 
Also hier steht es:
Code:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.d2h]
"Application"="Dir2Html.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.d2h\OpenWithList]
"a"="Dir2Html.exe"
"MRUList"="a"
Und hier steht es:
Code:
[HKEY_USERS\S-1-5-21-527237240-1677128483-839522115-1005\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.d2h]
"Application"="Dir2Html.exe"

[HKEY_USERS\S-1-5-21-527237240-1677128483-839522115-1005\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.d2h\OpenWithList]
"a"="Dir2Html.exe"
"MRUList"="a"

SirThornberry 11. Aug 2004 07:02

Re: Dateityp mit falschem Icon
 
Also eigentlich müsstest du unter "HKey_Classes_Root" deine extension finden ".deineExtension" Dort solltest du dann als Standardwert einen Verweis zu "deineExtensionFile" oder so haben. Und darin ändert man dann das mit dem Icon - ist also nicht user-gebunden.

Ich hab gestern gleiches wie du gemacht mit einer PDF-Datei. Hab jetzt in der Registry geschaut und es sind folgende einträge da:
Code:
[HKEY_CLASSES_ROOT\.pdf]
@="pdf_auto_file"
und
Code:
[HKEY_CLASSES_ROOT\pdf_auto_file]
@=""

[HKEY_CLASSES_ROOT\pdf_auto_file\shell]

[HKEY_CLASSES_ROOT\pdf_auto_file\shell\open]

[HKEY_CLASSES_ROOT\pdf_auto_file\shell\open\command]
@="\"D:\\adobe\\Reader\\AcroRd32.exe\" \"%1\""
hinzufügen für ein Icon müsste man in meinem fall nun noch
Code:
[HKEY_CLASSES_ROOT\pdf_auto_file\DefaultIcon]
@="D:\\adobe\\Reader\\AcroRd32.exe,0"

Luckie 11. Aug 2004 07:03

Re: Dateityp mit falschem Icon
 
Sollte man meinen, ist aber nicht der Fall.

SirThornberry 11. Aug 2004 07:08

Re: Dateityp mit falschem Icon
 
dann leg einfach in der Registry einen neuen Eintrag an.

Luckie 11. Aug 2004 07:44

Re: Dateityp mit falschem Icon
 
So, habe jetzt alles von Hand hinzugefügt:

Erst:
Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.d2h]
@="Dir2Html.file"
Und dann noch:
Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Dir2Html.file]

[HKEY_CLASSES_ROOT\Dir2Html.file\DefaultIcon]
@="\"E:\\Delphi\\Programme\\VCL\\Dir2HTML1_2\\Dir2Html.exe\",0"

[HKEY_CLASSES_ROOT\Dir2Html.file\shell]

[HKEY_CLASSES_ROOT\Dir2Html.file\shell\open]

[HKEY_CLASSES_ROOT\Dir2Html.file\shell\open\command]
@="\"E:\\Delphi\\Programme\\VCL\\Dir2HTML1_2\\Dir2Html.exe\" %1"
Wie sähe so was jetzt mit einer Inf-Datei aus?

MathiasSimmack 11. Aug 2004 10:46

Re: Dateityp mit falschem Icon
 
Ich poste einfach noch mal meine "HxC-compile.inf", mit der ich HxC-Projektdateien der Help 2.0 einfach via Kontextmenü kompilieren kann:
Code:
[version]
signature="$CHICAGO$"
SetupClass=BASE

[DefaultInstall]
AddReg=EnableHelp2Compiler

[EnableHelp2Compiler]
HKCR,%HxCProjectFile%\compile\command,,,%HelpCompiler%
HKCR,%HxCProjectFile%\compile,,,"Kompilieren"
HKCR,%HxCProjectFile%\edit\command,,,%HelpEditor%
HKCR,%HxCProjectFile%\edit,,,"Bearbeiten"
HKCR,%HxCProjectFile%,,,"edit"

[Strings]
HxCProjectFile="hxcfile\Shell"
HelpEditor="""c:\programme\powertoy\proton.exe"" ""%1"""
HelpCompiler="""c:\programme\Microsoft Help 2.0 SDK\hxcomp.exe"" -p ""%1"""
Der Nachteil dieser Lösung ist, dass feste Pfade erwartet werden. Eine Lösung im Programm, die dann bspw. den tatsächlich verwendeten Programmpfad verwendet (paramstr(0)) ist weitaus besser. Aber wenn´s nur für dich ist, Luckie, dann geht so eine INF- oder VBS-Datei natürlich auch.

Das Gegenstück zum Anlegen (AddReg) ist "DelReg". Aber solche Sachen findest du IMHO im PSDK. Und trotz der Angabe "chicago" kann man diese INF natürlich IMHO unter allen Windows-Versionen (95 - XP) verwenden. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz