Rubrik: HTML/Internet/Netzwerk · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 22.08.03 |
Eigenes Internetprotokoll registrieren Dieser Tipp zeigt, wie Sie ein eigenes Internetprotokoll registrieren. | ||
Autor: E7 | Bewertung: | Views: 19.449 |
ohne Homepage | System: 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