Hallo,
es gibt so viele Fragen zum Thema "Dateiendung registrieren", vor allem in letzter Zeit, dass ich denke das sich das hier lohnt. Daher habe ich eine kleine Funktion geschrieben:
Aufrufbeispiel:
Muss - logischerweise - entsprechend angepasst werden.
Das Programm muss natürlich auch erkennen das die Datei auch mit einem Doppelklick geöffnet worden ist. Der folgende Code ist noch sehr unsauber, wenn jemand eine Idee hat wie man den verbessern kann raus damit.
Unter Vista werden zum registrieren leider Administrator-Rechte benötigt (ausführen als -> administrator)
Viel Spaß damit.
Hinweis by LaMa5:
- Dieser Thread wurde um 21 Beiträge gekürzt und beschränkt sich somit nur noch auf den eigentlichen Inhalt.
- Unter Umständen sind Bezüge auf gelöschte Beiträge enthalten.
es gibt so viele Fragen zum Thema "Dateiendung registrieren", vor allem in letzter Zeit, dass ich denke das sich das hier lohnt. Daher habe ich eine kleine Funktion geschrieben:
VB.NET-Quellcode
- Private Function Registerfile(ByVal endung As String, ByVal namedesdateityps As String, ByVal pfadzuprogramm As String, ByVal pfadzuicon As String) As Boolean
- Try
- Dim objSubKey As Microsoft.Win32.RegistryKey
- Dim objSubKey2 As Microsoft.Win32.RegistryKey
- Dim Wert As String = namedesdateityps
- Dim sKey As String = endung
- Dim sKey2 As String = endung & "\ShellNew"
- Dim sEntry As String = "Content Type"
- Dim sValue As String = "text/plain"
- Dim sEntry2 As String = "PerceivedType"
- Dim sValue2 As String = "text"
- Dim sEntry3 As String = "Nullfile"
- objSubKey = My.Computer.Registry.ClassesRoot.CreateSubKey(sKey)
- objSubKey.SetValue("", Wert)
- objSubKey.SetValue(sEntry, sValue)
- objSubKey.SetValue(sEntry2, sValue2)
- objSubKey2 = My.Computer.Registry.ClassesRoot.CreateSubKey(sKey2)
- objSubKey2.SetValue(sEntry3, "")
- Dim objSubKey3 As Microsoft.Win32.RegistryKey
- Dim sKey3 As String = namedesdateityps
- Dim sKey4 As String = namedesdateityps & "\shell\open\command"
- Dim skey5 As String = namedesdateityps & "\DefaultIcon"
- Dim sValue3 As String = namedesdateityps
- Dim objSubKey5 As Microsoft.Win32.RegistryKey
- Dim sValue5 As String = """" + pfadzuprogramm + """" + " %1"
- Dim sValue6 As String = """" + pfadzuicon + """"
- Dim objSubKey4 As Microsoft.Win32.RegistryKey
- objSubKey3 = My.Computer.Registry.ClassesRoot.CreateSubKey(sKey3)
- objSubKey3.SetValue("", sValue3)
- objSubKey4 = My.Computer.Registry.ClassesRoot.CreateSubKey(sKey4)
- objSubKey4.SetValue("", sValue5)
- objSubKey5 = My.Computer.Registry.ClassesRoot.CreateSubKey(skey5)
- objSubKey5.SetValue("", sValue6)
- Return True
- Catch ex As Exception
- Return False
- End Try
- End Function
Aufrufbeispiel:
Muss - logischerweise - entsprechend angepasst werden.
Das Programm muss natürlich auch erkennen das die Datei auch mit einem Doppelklick geöffnet worden ist. Der folgende Code ist noch sehr unsauber, wenn jemand eine Idee hat wie man den verbessern kann raus damit.
Unter Vista werden zum registrieren leider Administrator-Rechte benötigt (ausführen als -> administrator)
Viel Spaß damit.
Hinweis by LaMa5:
- Dieser Thread wurde um 21 Beiträge gekürzt und beschränkt sich somit nur noch auf den eigentlichen Inhalt.
- Unter Umständen sind Bezüge auf gelöschte Beiträge enthalten.
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „LaMa5“ ()