2016-05-15 13 views
0

Ich habe die Zeichenfolge der Dateierweiterung. Und ich denke, die Frage ist selbsterklärendSo ermitteln Sie, ob eine Datei unbekannter Dateityp ist C#

Edit:
- unbekannt für den Computer (Windows); Eine Datei, für die kein Standardprogramm installiert ist

+0

Es ist nicht. Was bedeutet "unbekannt"? Unbekannt wem? Eine Liste, die du hast? Windows? Google? –

+0

Was genau meinen Sie mit "unbekannter Dateityp"? Eine Datei, für die kein Standardprogramm installiert ist? – ChrisF

+0

Die Zeichenfolge der Dateierweiterung "the". Welche Dateiendung? –

Antwort

2

Direkt unter HKEY_CLASSES_ROOT in der Registrierung gibt es eine Reihe von Schlüsseln, die häufig (und nicht so häufig) Dateierweiterungen sind.

In der ersten Instanz, wenn der Erweiterungsschlüssel nicht existiert, ist es dem System wirklich unbekannt.

Unter jeder dieser Tasten kann es andere Schlüssel sein:

  • PersistentHandler
  • Openwithlist
  • OpenWIthProgIds
  • ShellEx
  • usw.

je nachdem, um welche Art von Datei es sich handelt.

Das Vorhandensein eines (oder mehrerer) dieser Schlüssel sagt Ihnen, ob das System die Datei öffnen kann und welche Programme installiert sind.

Sie Zugriff auf einen Registrierungsschlüssel über die RegistryKey class

Zum Beispiel, wenn Sie OpenSubKey mit dem Namen der Nebenstelle wird es Ihnen sagen, ob es existiert oder nicht, ob der Aufruf erfolgreich ist oder fehlschlägt. Wenn es erfolgreich ist, können Sie die Unterschlüssel überprüfen, um zu sehen, welches Programm (falls vorhanden) die Datei öffnen kann.

+0

ok, aber wie kann ich auf HKEY_CLASSES_ROOT zugreifen? – vhoyer

+0

Es gibt eine ganze [Registry-Klasse] (https://msdn.microsoft.com/en-us/library/microsoft.win32.registry.getvalue (v = vs.110) .aspx) mit allem, was Sie brauchen. Oder wenn Sie gerne SO bleiben, hier ist ein hilfreiches [thread] (http://stackoverflow.com/questions/18232972/how-to-read-value-of-a-registry-key-c-sharp). –

+0

ja, natürlich, danke euch allen. – vhoyer

Verwandte Themen