Dateierweiterung in der Fensterregistrierung registrieren?

8

Ich möchte meine eigene Projekterweiterung in der Fensterregistrierung registrieren. Ich habe auf Google gesucht, zumindest habe ich diesen Code gefunden, das funktioniert gut, aber ich verstehe keine Zeile. Was bedeutet "% L".

Der C # -Code ist

%Vor%

das ist die Zeile, die mich verwirrt,

%Vor%

Bitte erklären Sie mir, ich bin Ihnen im Voraus sehr dankbar.

    
qulzam 12.11.2009, 08:18
quelle

3 Antworten

4

Wenn sich die ausführbare Datei Ihrer Anwendung in C: \ your dir \ your program.exe befindet Die Zeile wird übersetzt in:

"C: \ Ihr Verzeichnis \ Ihr Programm.exe" "% L"

% L wird in die Datei übersetzt, die Sie öffnen, also führt Ihr Programm diese Datei als ersten Parameter aus

    
rossoft 12.11.2009, 08:27
quelle
1

Um das% L zu verstehen, müssen Sie verstehen, welches Programm das Lesen von der Registrierung durchführen wird.

In diesem Fall werden die unter 'HKCR.ext \ shell *' angegebenen Verben von explorer.exe gelesen und verarbeitet, wenn Programme gestartet werden, die Erweiterungen zugeordnet sind.

Es scheint keine endgültige Liste dessen zu geben, nach dem der Explorer beim Erstellen einer Befehlszeile sucht. % L teilt dem Explorer jedoch mit, dass das Starten des Programms die lange Form des Dateinamens in der Befehlszeile akzeptiert. lange Dateinamen können Leerzeichen enthalten.

Aus diesem Grund müssen Programme, die lange Dateinamen in der Befehlszeile verwenden, in der Lage sein, mit Leerzeichen umzugehen - der Explorer tut dies selbst, indem er ',' als Befehlszeilentrenner verwendet oder Dateinamen in der Befehlszeile einschließt in Anführungszeichen.

    
Chris Becke 12.11.2009 09:48
quelle
0

%L ist der " lange Name " der Datei, deren Assoziation Ihr Programm aufgerufen hat. Auf modernen Betriebssystemen ist es identisch mit %1 ( Kurzname ).

    
Factor Mystic 12.11.2009 17:26
quelle

Tags und Links