Bestimmen Sie die zugehörige Anwendung

April 1, 2016 Admin Computer 0 0
FONT SIZE:
fontsize_dec
fontsize_inc

Die Kenntnis der Anwendung mit einer bestimmten Dateierweiterung verknüpft ist.

WO ist, dass die Informationen?

Anwendungen mit Dateierweiterungen zugeordnet sind, in der Registry von Windows gespeichert. Um diese Informationen zu erhalten, bevor wir wieder die "Klasse", dass eine Datei-Erweiterung gehört. Diese Informationen finden Sie unter:



HKEY_CLASSES_ROOT \ .ext \ (Standard)



wobei ".ext" ist die Datei-Erweiterung, die Sie wollen (wie "txt", "bmp", etc.). Dann erhalten wir die verwendet werden, um diese Art von Datei zu öffnen Befehlszeile. Um dies zu tun, die Daten unter rufen wir



HKEY_CLASSES_ROOT \ Class \ Shell \ Open \ Command \ (Standard)



wo "Klasse" ist die Klasse der Dateierweiterung gehört. Dieser String hat üblicherweise die Form



"D: \ PFAD \ APPNAME.EXT"% 1" -options



wo% 1 ist ein Platzhalter für die Dokumentdatei mit der Anwendung geöffnet werden, dann sollten wir seine Position innerhalb der Zeichenfolge suchen und ersetzen Sie es mit dem Namen der Datei, die Sie öffnen möchten.





Beispiel

Die folgende Funktion gibt die Befehlszeile der zugehörigen Anwendung, um eine Datei zu öffnen Documente:



verwendet die Windows-Registry, SysUtils;



Funktion GetAssociation (DocFileName const: String): String;

var

FileClass: string;

Reg: TRegistry;

Start

Ergebnis: = '';

Reg: = TRegistry.Create (KEY_EXECUTE);

Reg.RootKey: = HKEY_CLASSES_ROOT;

FileClass: = '';

wenn Reg.OpenKeyReadOnly (ExtractFileExt (DocFileName)), dann

Start

FileClass: = Reg.ReadString ('');

Reg.CloseKey;

Ende;

FileClass wenn '' dann beginnen

wenn Reg.OpenKeyReadOnly (FileClass + '\ Shell \ Open \ Command'), dann

Start

Ergebnis: = Reg.ReadString ('');

Reg.CloseKey;

Ende;

Ende;

Reg.Free;

Ende;

(0)
(0)

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha