vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: HTML/Internet/Netzwerk · Sonstiges   |   VB-Versionen: VB4, VB5, VB622.08.03
Eigenes Internetprotokoll registrieren

Dieser Tipp zeigt, wie Sie ein eigenes Internetprotokoll registrieren.

Autor:   E7Bewertung:  Views:  19.449 
ohne HomepageSystem:  Win9x, WinNT, Win2k, Win8, Win10, Win11 Beispielprojekt auf CD 

Träumen Sie nicht auch davon? Sie bringen auf einer Website einen Link an, der beispielsweise so aussieht:

<a href="mich://irgendeinserver/dateiname/datei.txt">Ein Link</a>

Ein Klick darauf, und IHR VB-Programm startet!

mich:// ist hierbei ein Protokoll, welches von Ihrem Programm registriert ist.

Mit folgendem Code können Sie Ihr eigenes Protokoll registrieren. Vorher müssen Sie allerdings noch folgendes machen:

  • Erstellen Sie ein Modul
  • Laden Sie, falls noch nicht geschehen, das VB6-Addin VB6 Vorlagenmanager
  • Fügen Sie nun über "Extras - Codeausschnitt hinzufügen" den Code Registrierungsschlüssel laden in das Modul ein

Mit Hilfe folgender Funktion können Sie nun ein eigenes Protokoll registrieren (bitte ebenfalls in das Modul einfügen):

Public Sub RegisterProtocol(ByVal ProtocolName As String, _
  Optional ByVal ProgPath As String)
 
  Dim hKey As Long
  Dim hDepth As Long
  Dim lpAttr As SECURITY_ATTRIBUTES
 
  If Len(ProgPath) = 0 Then
    ProgPath = App.Path & "\" & App.EXEName & ".exe"
  End If
 
  With lpAttr
    .nLength = 50
    .lpSecurityDescriptor = 0
    .bInheritHandle = True
  End With
 
  ' Schlüssel erstellen
  RegCreateKeyEx &H80000000, ProtocolName, 0, 1, 0, _
    131135, lpAttr, hKey, hDepth
  RegCloseKey hKey
 
  ' Sopurce-Filter updaten
  UpdateKey &H80000000, ProtocolName, "Source Filter", _
    GetKeyValue(&H80000000, "http", "Source Filter")
 
  ' Standard-Icon
  UpdateKey &H80000000, ProtocolName & "\DefaultIcon", _
    vbNullString, ProgPath & ",0"
 
  ' Shell-Open-Key erstellen
  RegCreateKeyEx &H80000000, ProtocolName & "\shell", _
    0, 1, 0, 131135, lpAttr, hKey, hDepth
  RegCloseKey hKey
  RegCreateKeyEx &H80000000, ProtocolName & "\shell\open", _
    0, 1, 0, 131135, lpAttr, hKey, hDepth
  RegCloseKey hKey
 
  ' Eigenes Programm eintragen
  UpdateKey &H80000000, ProtocolName & "\shell\open\command", _
    vbNullString, ProgPath & " ""%1"""
 
  ' URL-Protokoll updaten
  UpdateKey &H80000000, ProtocolName, "Url Protocol", ""
End Sub

Beispiel zur Anwendung:

RegisterProtocol "mich"

Hinweis: Selbstverständlich müssen Sie in Ihrem Programm auch noch etwas selbst programmieren. Sie können lediglich über die Funktion COMMAND$ an die übergebene URL kommen. Diese ist übrigens in Anführungszeichen, die Sie dann noch entfernen müssen.
Siehe hierzu auch:  Command$ und das leidige Problem mit Dateinamen
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.