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.
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
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.
%L
ist der " lange Name " der Datei, deren Assoziation Ihr Programm aufgerufen hat. Auf modernen Betriebssystemen ist es identisch mit %1
( Kurzname ).