dateitypen einer anwendung zuweisen

  • hallo,


    habe mir einen texteditor auf mein mio (transe ist das selbe in diesem fall) kopiert.
    wenn ich ihn starte öffnet er wunderbar die dateien.


    was muß ich wo und wie machen so das die *.txt *.ini dateien per doppelklick geöffnet werden?


    vielleicht kann mir jemand auch ein regfile geben.


    notepad befindet sich in folgendem verzeichnis:
    \Program Files\Notepad\pnotepad.exe


    bin für hilfe sehr dankbar.

  • Die Einträge der Dateiendungen sind in der Registry unter dem Zweig HKEY_CLASSES_ROOT zu finden.
    Ich versuche mal anhand eines nachvollziehbaren Beispiels zu erklären, woher Windows weiß, welches Programm gestartet und welches Icon für die Datei anzeigt werden soll. (ich empfehle dir dies im Registry-Editor mitzuverfolgen, dann erkennst du die logische Struktur besser und versteht, was ich meine)
    Beispiel EXE-Dateien: Im oben erwähnten Zweig existiert ein Schlüssel mit dem Namen der Erweiterung, beginnend mit einem Punkt, also .exe. Dieser Schlüssel enthält als Default-Wert eine Zeichenfolge, im Bsp. exefile. Im selben Zweig, wie die Dateiendung findet man einen Schlüssel, mit genau dieser Zeichenfolge. Im Beispiel enthält dieser die Schlüssel DefaultIcon und shell. Im ersteren legt man fest, welches Icon für diesen Dateityp angezeigt werden soll, im zweiten, welches Programm gestartet werden soll. Im Beispiel steht für das Icon %1. Dies ist ein Platzhalter, der von Windows zum Pfad der angeclickten Datei erweitert wird, aus dieser wird dann das erste Icon geladen. Natürlich könnte man hier auch einen Pfad, zu einer bestimmten exe Datei angeben oder, wie es zum Beispiel unter dem Schlüssel wavefile der Fall ist, einen Pfad zu einer DLL und der IconID angeben. Nun weiter zum zu startenden Programm. Der Schlüssel shell enthält den Schlüssel open, der wiederum den Schlüssel command enthält. In diesem letzten Schlüssel gibt man dem Defaultwert den Pfad zur auszuführenden Datei, im Beispiel also "%1" %*. %1 ist ja der Pfad zur exe, also wird diese gestartet. %* erkläre ich jetzt nicht, wirst du auch nicht brauchen.


    Wenn du das ganze jetzt für Textdateien machen willst, guckst du erstmal, ob dein Editor einen Schlüssel "pnotepad" oder ähnlich, mit den oben genannten Schlüssel (DefaultIcon, shell), angelegt hat. Du hast ihn gefunden, gut. Dann suchst du den Schlüssel .txt dessen Default Wert gibst du dann den gefundenen Schlüsselname und du bist fertig.


    Für den Fall, dass du keinen Schlüssel von pnotepad gefunden hast, musst du selbst einen erstellen. Dieser sollte dann so wie oben beschrieben aufgebaut sein. Im command-Schlüssel gibst du dem Defaultwert dann den Wert "\Program Files\Notepad\pnotepad.exe" "%1", es wird dann also Notepad gestartet und es bekommt als Parameter den Pfad zur angeclickten Datei. Wenn du willst kannst du im Schlüssel DefaultIcon auch den Pfad zum Programm angeben, dann erhalten alle Textdateien, dessen Icon.


    Ich hoffe ich konnte mich halbwegs verständlich ausdrücken. Guck dir einfach mal die Schlüssel im Zweig HKEY_CLASSES_ROOT an, die sind ja fast alle so aufgebaut.


    Ich übernehme übrigens keine Verantwortung, wenn du dir deine Registry zerscheißt, aber spätestens nach nem Hardreset sollte es wieder gehen ;)

  • Im Nachhinein, war das obige Beispiel nicht so gut gewählt, ich hätte es besser an den Cab-Dateien erklären sollen, aber du kannst dir die Einträge der Cabs ja auch selbst ansehen.

  • hallo,


    vielen dank erstmal für deine erklärung.
    so ähnlich hatte ich es gestern schon versucht, aber irgendwas hatte ich dabei noch falsch gemacht.
    werde es nachher mal nach deiner anleitung probieren.

  • hi,


    das zuweisen des dateitypes hat jetzt geklappt. ;)
    jedoch ein icon zuweisen hat nicht geklappt.
    habe es folgendermaßen versucht
    "pfad\datei.exe" %1
    "pfad\datei.exe" "%1"
    pfad\datei.exe "%1"
    pfad\datei.exe %1
    %1
    "%1"

  • z.B. so !


    [HKEY_CLASSES_ROOT\txtfile\DefaultIcon]
    "Default"="\\Program Files\\GVPad\\gvpad.exe,0"


    Gruß,
    Concor

  • danke,


    habe den schlüssel nach meinem programm angepaßt und dann in den pocket regeditor importiert. bingo.
    nun kann ich es in die *.cap datei einbauen so dass diese änderung beim nächsten hardreset wieder mit installiert werden.


    vielen dank an @Daniel S. und concor.

  • @da-freak


    Du weist aber schon das pnotepad nur Texte bis 64kb öffnen kann !
    genau deswegen benutze ich es nicht mehr.


    Gruß,
    Concor

  • nö, weiß ich nicht.
    mir geht es nur darum auch mal unterwegs eine ini datei anpassen zu können.

  • Schlimmer !! (habe es gerade getestet)
    er steigt schon bei 30Kb aus !
    Ok. für ini´s mag es noch gehen, aber irgend einen Text / Readme lesen
    oder lange Poi listen bearbeiten ist nicht möglich


    Gruß,
    Concor

  • hatte es so angedacht das man unterwegs die prefs.ini mal anpaßt oder die geschwindigkeitsprofile tauscht oder so ähnlich oder andere ini dateien manipuliert. :)


    wenn das mit der dateigröße irgendwann mal probleme macht dann muß ich mich nach einer anderen anwendung umsehen.


    pnotepad braucht jedenfalls keine weitere dateien. die exe genügt.


    was nutzt du für einen texteditor?

  • GVPad Aber die Build 57.0 (gvpadwce) die neuere ist schlechter !
    Er brauch auch nur die exe,und hat eine super
    finden und ersetzen Funktion.


    GVPad 1.0 Build 57.0 für Windows CE (freeware)


    Ein kleines Problem hat er jedoch wenn in dem Pfad ein Leerzeichen ist
    wie in \Storage Card\ dann kann er sie nicht per Doppelklick öffnen
    dann also nur über GVPad selber (file/open)
    aber das ist kein Problem


    Gruß,
    Concor

    Einmal editiert, zuletzt von concor ()

  • Zitat

    Original von concor
    Ein kleines Problem hat er jedoch wenn in dem Pfad ein Leerzeichen ist
    wie in \Storage Card\ dann kann er sie nicht per Doppelklick öffnen


    Könnte es sein, dass gvpadwce in der Registry unter [HKEY_CLASSES_ROOT\txtfile\shell\open\command] einen Eintrag hinzugefügt hat, der so aussieht "\Program Files\gvpaswce\gvpadwce.exe" %1 ?


    Dass pnotepad keine Dateien größer ~30kb (genauer wahrscheinlich 32kb) anzeigen kann liegt mit ziemlicher Sicherheit daran, dass es einfach nur ein Textfeld nimmt und dort die Datei reinschreibt. Genau wie alle Windows < 2000 konnten Textfelder nur die besagten 32kb anzeigen. Notepad hat bei Größeren den Hinweis gegeben Wordpad zu benutzen.

  • Hi Daniel S.,


    Die Verknüpfung bei GvPad.exe (gvpadwce.exe ist Setup)
    habe ich selbst in verschiedenen Varianten probiert und es war immer das selbe ???
    Txt Dateien in Ordnern mit Leerzeichen waren nicht
    per Doppelklick zu öffnen,
    wohl aber auf normalem Weg.


    über Tipps woran es noch liegen kann bin ich super dankbar.


    Zitat

    Dass pnotepad keine Dateien größer ~30kb (genauer wahrscheinlich 32kb) anzeigen kann liegt mit ziemlicher Sicherheit daran, dass es einfach nur ein Textfeld nimmt und dort die Datei reinschreibt. Genau wie alle Windows < 2000 konnten Textfelder nur die besagten 32kb anzeigen. Notepad hat bei Größeren den Hinweis gegeben Wordpad zu benutzen.


    Ja genau so ist es Meister Joda :D
    (natürlich hätte ich es nicht so Detahirt gewusst)


    aber GWPad nimmt alle größen



    Gruß,
    Concor

  • Hast du es auch mit Anführungszeichen um das %1 probiert?


    Möge die Macht mit dir sein. :P