VB.NET-Tipp 0051: Anwendung mit Dateiendung assoziieren
von Eckhart Wörner
Beschreibung
Mit dem untenstehenden Listing ist es möglich Dateiendungen mit einer Anwendung in Zusammenhang zubringen. Es wird ein neuer Schlüssel in die Registry eingetragen, so dass beim Anklicken einer Datei mit der entsprechenden Endung die zugehörige Applikation gestartet wird.
Schwierigkeitsgrad: | Framework-Version(en): .NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5 | .NET-Version(en): Visual Basic 2002, Visual Basic 2003, Visual Basic 2005, Visual Basic 2008 | Download: |
' Dieser Quellcode stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' Projektversion: Visual Studio 2002/2003 ' Option Strict: Aus ' Option Explicit: An ' ' Referenzen: ' - System ' - System.Data ' - System.Drawing ' - System.Windows.Forms ' - System.XML ' ' Imports: ' - Microsoft.VisualBasic ' - System ' - System.Collections ' - System.Data ' - System.Drawing ' - System.Diagnostics ' - System.Windows.Forms ' ' ############################################################################## ' ################################# Form1.vb ################################### ' ############################################################################## Public Class Form1 Inherits System.Windows.Forms.Form Private Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim Subkey As Microsoft.Win32.RegistryKey ' Erstellt einen Schlüssel mit dem angegebenen(Registrynamen) Dim Key As Microsoft.Win32.RegistryKey = _ Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(TextBox3.Text) ' Setzt den Standardwert des Schlüssels aufden Namen der Erweiterung Key.SetValue(Nothing, TextBox1.Text) ' Wenn Pfad und Nummer des Icons gesetzt sind If TextBox4.Text <> "" And TextBox5.Text <> "" Then 'Erstellt einen Unterschlüssel für das Icon Subkey = Key.CreateSubKey("DefaultIcon") ' Setzt den Standardwert des Unterschlüssels auf den Pfad und die ' Nummer des Icons Subkey.SetValue(Nothing, TextBox4.Text + "," + TextBox5.Text) End If ' Erstellt einen Unterschlüssel für das ausführbare Programm Subkey = Key.CreateSubKey("shell\open\command") ' Setzt den Standardwert des Schlüssels auf den Pfad zum ' ausführbaren(Programm) Subkey.SetValue(Nothing, TextBox2.Text) ' Erstellt einen Schlüssel mit der angegebenen(Dateierweiterung) Key = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey( _ "." + TextBox6.Text) ' Setzt den Standardwert des Schlüssels auf den Namen der Erweiterung Key.SetValue(Nothing, TextBox3.Text) Button1.Enabled = True End Sub Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = "Anwendungsname:" Label2.Text = "Anwendungspfad:" Label3.Text = "Registryname:" Label4.Text = "Icon - Datei:" Label5.Text = "Icon - Nummer:" Label6.Text = "Extension" TextBox1.Text = "Selbstgebastelte Text-Editor Datei" TextBox2.Text = "C:\Windows\Notepad.exe" TextBox3.Text = "Sg TextEdit Dat" TextBox4.Text = "C:\Windows\Explorer.exe" TextBox5.Text = "15" TextBox6.Text = "sgte" End Sub Private Sub Button2_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button2.Click Application.Exit() End Sub End Class
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 3 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Alexander Wirt am 14.07.2011 um 20:27
z.B: so bekommt man der Pfad in der Titelleiste->
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If My.Application.CommandLineArgs.Count > 0 Then
Me.Text = My.Application.CommandLineArgs(0)
End If
End Sub
Kommentar von Lord Jayson am 23.12.2009 um 00:29
Hey,
ich habe nun die Dateiendung .txt mit meinem Writer verbunden. Wie bekomme ich es nun hin, dass er diese einliest und in einer Textbox darstellt ??
Liebe Grüße,
Lord Jayson
Kommentar von General Bison am 15.09.2008 um 11:40
Hi
als erstes mal GENAIL! das hab ich schon immer gesucht!
Echt NICE!
aber.. öhm...
Wie bekomme ich in der Anwendung nachher die Übergebene(n)
Dateien raus?
Es geht weder mit
System.Environment.GetCommandLineArgs
noch mit
My.Application.CommandLineArgs
wie greife ich darauf zu?
MFG: BiSoN