![]() |
Dateityp auslesen
Moin,
ich hab mich jetzt schon dumm und dusselig gesucht, kann es aber einfach nicht finden. Ich möchte gerne den Dateityp einer Datei auslesen, sprich also wenn ich auf eine *.txt-Datei rechtsklicke und Eigenschaften wähle, zeigt der Windows-Dialog mir unter Dateityp Textdatei an. Wie kann ich dies aus meinem Programm heraus auslesen? Praktisch wäre wenn man parallel dazu noch auslesen könnte, mit welchem Programm dieser Dateityp standardmäßig verknüpft ist. Hat da jemand eine Idee? Danke schonmal. ;) |
Re: Dateityp auslesen
Schau in die Registry
|
Re: Dateityp auslesen
Zitat:
|
Re: Dateityp auslesen
HKCR\.txt
mfg Christian |
Re: Dateityp auslesen
Ah okay, danke erstmal.
|
Re: Dateityp auslesen
Also provisorisch geht es erstmal so:
Delphi-Quellcode:
Das Ergebnis ist jedoch nicht unbedingt was ich haben wollte, so bringt eine Abfrage von .txt z.B. text/plain, der Windows Explorer zeigt aber "Testdokument" an. Wie kann ich exakt diesen Wert auslesen? Bei Photoshop-Dateien gibt es nämlich z.B. gar keinen Key "Content Type", sodass dort nichts ausgelesen werden kann. :-(
function GetContentType(FileExt: String) : String;
begin with TRegistry.Create do begin try Rootkey := HKEY_CLASSES_ROOT; if OpenKey(FileExt, True) then begin result := ReadString('Content Type'); end; finally Free; end; end; end; |
Re: Dateityp auslesen
Durch ein bisschen Suchen gefunden:
Im Schlüssel „.txt“ gibt es bei mir als Standardwert „txtfile“, wenn man dann bei HKCR unter „txtfile“ guckt, gibt's wieder 'nen Standardwert: das gesuchte „Textdatei“. (Ich hoffe mal, dass das für alle Dateitypen so zu finden ist.) |
Re: Dateityp auslesen
@Balu: Du könntest auch einen Blick in die berühmten Win32-API-Tutorials von Luckie werfen. In der List-View-Demo (erweitert von einem jungen, talentierten Programmierer mit den Initialen des Microsoft Installers :stupid:) findest du die [dp="SHGetFileInfo SHGFI_TYPENAME"]Lösung[/dp]. :lol:
|
Re: Dateityp auslesen
Danke an euch alle, es klappt jetzt. :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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