Aufgrund einer Erweiterung das Programm ermitteln

17/03/2009 - 09:42 von Tamara Mikes | Report spam
Salü alle zusammen

Wie kann ich mit c# aufgrund der Namenserweiterung (z.B. doc, jpg, atf) das in Windows
verknüpfte Programm ermitteln? Im Windows Explorer weiss ich ja in welchem Menü das zu
finden ist. Aber wie mach ich das in C#? Ich brauche als Resultat den Programmnamen damit
ich das Programm starten kann.

Stelle mir das ungefàhr so vor:

string MeinProgramm = GetProgrammname("jpg");

Vielen Dank für Hinweise
Gruss Tamara
 

Lesen sie die antworten

#1 Volker Strähle
17/03/2009 - 12:01 | Warnen spam
http://www.google.de/search?hl=de&a...g&meta
"Die Eintraege aus dem Windows Explorer Menue "Extras" > "Ordneroptionen" >
"Dateitypen" findet man in der Registrierung unter
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre
ntVersion\Explorer\FileExts
wenn man den Ordner mit der Dateiendung oeffnet findet man dort den
Unterordner "OpenWithProgids"
Diese ProgrammIDs sind nachzuschlagen unter
HKEY_CLASSES_ROOT und schon findet man dort im Unterordner "shell" die
Eintraege zum oeffnen von Dateien die auch in den Ordneroptionen stehen.

Beispiel: Access Datenbanken (*.mdb)
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre
ntVersion\Explorer\FileExts\.mdb\OpenWithProgids
enthaelt 2 eintraege, interessant davon ist nur einer, weil der andere nicht
in HKEY_CLASSES_ROOT zu finden ist. dieser Eintrag heisst
"Access.Application.11" Schaue ich diesen Eintrag nun unter
HKEY_CLASSES_ROOT nach finde ich unter
HKEY_CLASSES_ROOT\Access.Application.11\shell\Open\command im "(Standard)"
Eintrag die komplette Befehlszeile."


Volker

Ähnliche fragen