Datei verknüpfen
Verfasst: 07.04.2006 15:34
Wie kann ich Dateiendungen mit einem Programm verknüpfen? So wie es bei jaPBe unter Einstellungen geht. Bzw. Abfragen, mit welchem Programm bestimmte Endungen verknüpft sind?
Sven
Sven
Code: Alles auswählen
Procedure.s GetAssociatedProgram(Extension.s)
hKey.l = 0
KeyValue.s = Space(255)
datasize.l = 255
AssociatedProgram$ = ""
If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, "." + Extension, 0, #KEY_READ, @hKey) = #ERROR_SUCCESS
If RegQueryValueEx_(hKey, "", 0, 0, @KeyValue, @datasize) = #ERROR_SUCCESS
KeyNext.s = Left(KeyValue, datasize-1)
hKey.l = 0
KeyValue.s = Space(255)
datasize.l = 255
If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, KeyNext + "\Shell\Open\Command", 0, #KEY_READ, @hKey) = #ERROR_SUCCESS
If RegQueryValueEx_(hKey, "", 0, 0, @KeyValue, @datasize) = #ERROR_SUCCESS
AssociatedProgram$ = Left(KeyValue, datasize-1)
EndIf
EndIf
EndIf
EndIf
Pos = FindString(LCase(AssociatedProgram$), ".exe", 1)
If Pos <> 0
AssociatedProgram$ = Left(AssociatedProgram$, Pos + 4)
AssociatedProgram$ = RemoveString(AssociatedProgram$, Chr(34), 1)
EndIf
ProcedureReturn AssociatedProgram$
EndProcedure
Debug GetAssociatedProgram("html")
Debug GetAssociatedProgram("mp3")
Debug GetAssociatedProgram("eml")