Verlinkung aus dem Internet in Software

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Leonalter.

    Verlinkung aus dem Internet in Software

    Hallo,

    ich meine, dass es schon einmal gefragt wurde, allerdings habe ich per Suche den Beitrag nicht mehr gefunden.

    Zu meiner Frage.
    Ich möchte, dass man im Internet auf einen Link klicken kann, und dann meine Software darauf anspringt (mit Parameterübergabe).

    Beispiel (Teamspeak 3)




    Ich gehe mal davon aus, dass man Datein für die jeweiligen Browser erstellen muss, aber leider habe ich dazu nichts genaues gefunden. Würde mich also über Hilfe sehr freuen!

    Gruß
    Leon Fiedler
    Dafür musst/kannst du ein Protokoll registrieren. Bei jedem Aufruf eine URL in deinem Protokoll wird dann eine von dir definierte Anwendung aufgerufen, in der du dann weiter verfährst.

    dotnet-snippets.de/snippet/eig…rotokoll-registrieren/253
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Vielen Dank schonmal Lukas, das war eine sehr gute Seite.

    Ich habe folgenden Code:

    VB.NET-Quellcode

    1. Private Sub creat_protocol(ByVal protokollname As String)
    2. ' Protokoll-Klasse installieren
    3. Key = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(protokollname + "\")
    4. ' Protokoll-Name installieren
    5. Key.SetValue("", "URL: " + protokollname + "-Protokoll")
    6. ' Als URL-Protokoll definieren
    7. Key.SetValue("URL Protocol", "")
    8. ' Schlüssel für Anwendung zum Öffnen festlegen
    9. Key = Key.CreateSubKey("shell\open\command")
    10. Key.SetValue("", System.Reflection.Assembly.GetExecutingAssembly.Location + " %1")
    11. ' Icon festlegen
    12. Key = Key.CreateSubKey("DefaultIcon")
    13. Key.SetValue("", System.Reflection.Assembly.GetExecutingAssembly.Location)
    14. End Sub


    Dieser funktioniert auch wunderbar, allerdings würde ich gerne meinem Programm noch einen Parameter übergeben. Wisst ihr, wie das funktioniert? Wie könnte ich dann auf den Parameter reagieren?

    Gruß
    steht doch auf der verlinkten seite ... sogar mit vb übersetzung ...

    VB.NET-Quellcode

    1. ' using Microsoft.Win32; nicht vergessen!
    2. ''' <summary>
    3. ''' Registriert ein benutzerdefiniertes URL-Protokoll für die Verwendung mit der
    4. ''' Windows-Shell, dem Internet Explorer und Office.
    5. '''
    6. ''' Beispiel für einen URL eines benutzerdefinierten URL-Protokolls:
    7. '''
    8. ''' rainbird://RemoteControl/OpenFridge/GetBeer
    9. ''' </summary>
    10. ''' <param name="protocolName">Name des Protokolls (z.B. "rainbird" für "rainbird://...")</param>
    11. ''' <param name="applicationPath">Vollständiger Dateisystem-Pfad zur EXE-Datei, die den URL bei Aufruf verarbeitet (Der komplette URL wird als Befehlszeilenparameter übergteben)</param>
    12. ''' <param name="description">Beschreibung (z.B. "URL:Rainbird Custom URL")</param>
    13. Public Sub RegisterURLProtocol(protocolName As String, applicationPath As String, description As String)
    14. ' Neuer Schlüssel für das gewünschte URL Protokoll erstellen
    15. Dim myKey As RegistryKey = Registry.ClassesRoot.CreateSubKey(protocolName)
    16. ' Protokoll zuweisen
    17. myKey.SetValue(Nothing, description)
    18. myKey.SetValue("URL Protocol", String.Empty)
    19. ' Shellwerte eintragen
    20. Registry.ClassesRoot.CreateSubKey(protocolName & "\Shell")
    21. Registry.ClassesRoot.CreateSubKey(protocolName & "\Shell\open")
    22. myKey = Registry.ClassesRoot.CreateSubKey(protocolName & "\Shell\open\command")
    23. ' Anwendung festlegen, die das URL-Protokoll behandelt
    24. myKey.SetValue(Nothing, """" & applicationPath, +""" %1")
    25. End Sub