![]() |
registry.....symbole
Hallo!!!
Ich probiere gerade nen Monopoly-game aus und man kann im Spiel seine Spielstände abspeichern! Diese Dateien sollen die Endung .mon haben. So mein Problem ist: Wenn man die Datei öffnet soll automatisch das Monopoly Spiel geöffnet werden mit den Einstellungen von der Datei und ich möchte das diese Datei ein Symbol hat, wie z.B. mp3 Dateien das Winamp Symbol!! |
Hallo,
Du musst die Endung im System registrieren, bzw. in der Registry eintragen. Anschliessend musst Du Dein Programm mit Parameter starten können. Sprich die Datei die übergeberden ist, lesen und dementsprechned dann handeln. Grüsse, Daniel :hi: |
Aha, kannst du mir vielleicht ein kleines Bsp zeigen, wie das mit der Reg. funzt???
|
Ich glaube das steht unter anderem in der Code-Library. Desweiteren solltest du was passendes mit der board-Suche finde
|
Hallo,
Du musst unter HKEY_CLASSES_ROOT, ein neuen Schlüssel, also Deine Endung, eintragen und mit dem entsprechenden Programm über eine Zeichenfolge dann eintragen. Wie man grundsätzlich mit der Registry umgeht, siehst Du hier im Forum wenn Du die Suche bemühst. Grüsse, Daniel :hi: |
Hallo,
Du musst unter HKEY_CLASSES_ROOT, ein neuen Schlüssel, also Deine Endung, eintragen und mit dem entsprechenden Programm über eine Zeichenfolge dann eintragen. Wie man grundsätzlich mit der Registry umgeht, siehst Du hier im Forum wenn Du die Suche bemühst. Grüsse, Daniel :hi: |
Moin Maximi,
falls Du schon mal einen Blick in die Registry geworfen hast, wird Dir vielleicht der Key HKEY_CLASSES_ROOT aufgefallen sein. In diesem sind, u.a., alle bislang registrierten Datentypen verzeichnet. Als erstes brauchst Du einen Eintrag für Deinen Typen als .mon HKEY_CLASSES_ROOT\.mon hierin wird jetzt ein Standardwert (String) erzeugt (als Name muss ein Leerstring verwendet werden) der als Key für die weiteren Informationen dient, z.B. maximimonfile. Dieser Wert wird jetzt auch als Key unter HKCR angelegt, so dass Du HKEY_CLASSES_ROOT\maximimonfile als Key hast. Unter diesem Key werden jetzt die eigentlichen Informationen gespeichert. Da Du ein eigenes Icon benötigst musst Du einen Key DefaultIcon erzeugen, und hier als Standardwert den Pfad zu der Datei angeben, die das Icon enthält, sowie die Iconnummer (null basiert) in dieser Datei, abgetrennt mit einem Komma. Ausserdem muss unter maximimonfile noch eine Keystruktur angelegt werden, so dass Du hinterher HKEY_CLASSES_ROOT\maximimonfile\shell\open\command hast. In dem command Key wird nun wieder ein Standardwert angelegt, der den Pfad zu Deinem Programm (eingeschlossen in ") gefolgt von einem Blank und "%1" enthält, damit nicht nur das Programm gestartet, sondern auch ein Parameter übergeben wird. Wichtig sind die doppelten (!) Anführungsstriche, damit eventuelle Blanks im Pfad nicht zu unangenehmen Überraschungen führen. Alle Standardwerte die hier einzutragen sind, sind Strings. Fertig sähe dass dann so aus: HKEY_CLASSES_ROOT\.mon Wertname: '' Wert : maximimonfile HKEY_CLASSES_ROOT\maximimonfile\DefaultIcon Wertname: '' Wert : "C:\Pfad\zu\der\Datei\mit\dem\Icon\Monopoly.ex e",0 HKEY_CLASSES_ROOT\maximimonfile\Shell\Open\Command Wertname: '' Wert : "C:\Pfad\zu\der\Datei\mit\dem\Icon\Monopoly.ex e" "%1" Man kann natürlich noch eine Ganze Menge mehr in diesem Bereich tun, aber für den von Dir genannten Zweck reicht das hier schon. Weitere Einzelheiten kannst Du im PSDK oder auf MSDN unter Shell Basics: Extending the Shell, Creating a File Association nachlesen. |
Ja, halbwegs verstanden, aber wie bringe ich das in einen Delphi-Code???
|
Moin maximi,
dazu ist für diesen Zweck TRegistry bestens zu gebrauchen. Und dafür solltest Du hier reichlich Beispiele finden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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