Wie öffnet man bei Doppelklick auf eine Datei mit eigener Extension die eigene VB.NET 2003-App und lädt darin die Datei?

Antwort

Um eine Datei mit einer eigenen Dateiendung per Doppelklick in deiner VB.NET 2003-Anwendung zu öffnen und die Datei direkt in der App zu laden, sind folgende Schritte notwendig: ### 1. Dateiendung im System registrieren Du musst Windows mitteilen, dass deine Anwendung für diese Dateiendung zuständig ist. Das geschieht über die **Registry**. #### Beispiel: Registrierung der Endung `.abc` für `MeineApp.exe` 1. **Registry-Eintrag erstellen** (z.B. in der Setup-Routine oder manuell): ```reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.abc] @="MeineApp.abcfile" [HKEY_CLASSES_ROOT\MeineApp.abcfile] @="Meine eigene Datei" "EditFlags"=dword:00000000 [HKEY_CLASSES_ROOT\MeineApp.abcfile\shell\open\command] @="\"C:\\Pfad\\zu\\MeineApp.exe\" \"%1\"" ``` - Ersetze `C:\\Pfad\\zu\\MeineApp.exe` durch den tatsächlichen Pfad zu deiner Anwendung. 2. **Alternativ** kannst du das auch per Code machen, z.B. mit `My.Computer.Registry` (ab .NET 2.0) oder über die `Microsoft.Win32.Registry`-Klassen. --- ### 2. Dateiübergabe in der Anwendung auswerten Wenn du nun per Doppelklick eine `.abc`-Datei öffnest, wird deine Anwendung mit dem Dateipfad als **Kommandozeilenargument** gestartet. #### Beispielcode in VB.NET 2003 (im `Sub Main` oder im Form-Load): ```vbnet Sub Main() Dim args() As String = System.Environment.GetCommandLineArgs() If args.Length > 1 Then Dim dateipfad As String = args(1) ' Hier: Datei laden und anzeigen MessageBox.Show("Datei öffnen: " & dateipfad) ' Datei einlesen, z.B.: ' Dim inhalt As String = System.IO.File.ReadAllText(dateipfad) End If ' Starte das Hauptformular Application.Run(New MainForm()) End Sub ``` - Stelle sicher, dass dein Projekt so konfiguriert ist, dass `Sub Main` als Startpunkt verwendet wird (Projekt-Eigenschaften). --- ### Zusammenfassung 1. **Dateiendung in der Registry mit deiner App verknüpfen** 2. **In deiner App die Kommandozeilenargumente auswerten und die Datei laden** Weitere Infos: - [Microsoft: File Association and File Types](https://learn.microsoft.com/en-us/windows/win32/shell/fa-file-types) - [VB.NET: Command-Line Arguments](https://learn.microsoft.com/en-us/dotnet/api/system.environment.getcommandlineargs) Damit öffnet sich deine App beim Doppelklick auf die Datei und lädt diese automatisch.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Warum werden ColorDialog und andere Dialoge in einer VB.NET 2003-App erst angezeigt, nachdem die App von einem anderen Fenster verdeckt und dann wieder fokussiert wurde?

Das von dir beschriebene Verhalten deutet auf ein Problem mit der Aktualisierung oder dem Zeichnen der Benutzeroberfläche in deiner VB.NET 2003-Anwendung hin. Normalerweise sollte der `ColorDialo... [mehr]

Wie ermittle ich mit VB.NET 2003 die Speicherorte installierter Programme, um sie programmatisch zu starten?

Um in VB.NET 2003 die Speicherorte installierter Programme zu ermitteln, gibt es keinen direkten, einheitlichen Weg, da Windows keine zentrale Liste mit allen Installationspfaden bereitstellt. Die mei... [mehr]