So hallo an alle,
nachdem ich leider lange nichtmehr da war, da bei mir irgendwie mein i-net nicht mitgemacht hat, habe ich mal wieder eine frage... mittlerweile bin ich schon recht gut was programmieren angeht. aber die MS Regisry habe ich bis heute leider nicht verstanden.
ich habe mir den code aus folgendem Thread gezogen Thread.
den code etc. habe ich soweit ja verstanden.
naja... was die genauen einträge betrifft bin ich noch nicht ganz schlüssig.
jedenfalls klappt das alles wunderbar, datei wird registriert und bei einem doppelklick wird selbige auch mit dem gewünschen programm gestartet.
das einzige was mich stutzig macht, ist das jeglicher versuch der dateiendung ein Icon zu verpassen, kläglich gescheitert ist.
ich hoffe, dass ihr mir da evtl weiterhelfen könnt.
hier nochmal mein code:
Danke schonmal an alle, die sich für mich den kopf zerbrechen
nachdem ich leider lange nichtmehr da war, da bei mir irgendwie mein i-net nicht mitgemacht hat, habe ich mal wieder eine frage... mittlerweile bin ich schon recht gut was programmieren angeht. aber die MS Regisry habe ich bis heute leider nicht verstanden.
ich habe mir den code aus folgendem Thread gezogen Thread.
den code etc. habe ich soweit ja verstanden.
naja... was die genauen einträge betrifft bin ich noch nicht ganz schlüssig.
jedenfalls klappt das alles wunderbar, datei wird registriert und bei einem doppelklick wird selbige auch mit dem gewünschen programm gestartet.
das einzige was mich stutzig macht, ist das jeglicher versuch der dateiendung ein Icon zu verpassen, kläglich gescheitert ist.
ich hoffe, dass ihr mir da evtl weiterhelfen könnt.
hier nochmal mein code:
VB.NET-Quellcode
- Public Class Form1
- Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- End Sub
- 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
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- If Registerfile(".test", "Test-File-Extension", Application.ExecutablePath, "C:\Users\EsTari\Documents\Visual Studio 2010\Projects\FILE REGISTRATION TEST\FILE REGISTRATION TEST\bin\Debug\Bio Hazard.ico") = True Then
- MessageBox.Show("Die Dateiendung *.test wurde erfolgreich registiert.", "Info")
- Else
- MessageBox.Show("Die Dateiendung konnte nicht registriert werden.")
- End If
- End Sub
- End Class
Danke schonmal an alle, die sich für mich den kopf zerbrechen