URL - Protocol Handler

    • Release
    • Closed Source

    Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Trade.

      URL - Protocol Handler

      Hallo Liebe Community,

      erstmal möchte ich im allgemeinen allen hier im Forum danken, dass ihr mir seit über einem Jahr mit Rat und Tat zur Seite standet!
      Heute möchte ich etwas kleines Releasen, was nicht viele von euch interessieren wird. (Oder doch :P ?)

      Name:
      URL-Protocol Handler Manager

      So heißt das gute Stück.


      Beschreibung:
      Mit dieser Lib könnt ihr euren eigenen URL-Protocol Handler in Sekunden erstellen!
      Alles was ihr dafür benötigt: Eine Software in der ihr die dll einbinden möchtet und eine 2. Software zum "verarbeiten" (Was ich damit meine, dazu komme ich später).

      Los Gehts:
      Die Lib besteht aus 3 Funktionen: FKey , Create und Delete
      Die FKey Funktion ist für euch weniger relevant, da Sie die Registry lediglich auf einen bereits erstellten Handler überprüft.
      Relevanter sind vielmehr die Funktionen Create und Delete.


      VB.NET-Quellcode

      1. create(ByVal handlername As String, ByVal filename As String, ByVal full_filepath As String, ByVal move_fileto_appdata As Boolean, ByVal rückmeldung As Boolean)


      Ihr müsst der Funktion einen Handlernamen zuweisen, einen Dateinamen sowie den kompletten Pfad+Dateiname zur Applikation, welche die Handleranfrage entgegen nehmen soll.
      Anschließend könnt ihr entscheiden ob die Datei in %appdata% verschoben werden soll und ob ihr eine Rückmeldung zum Status haben wollt (in Form einer MessageBox, da die Function sonst nur True/False ausspuckt)

      VB.NET-Quellcode

      1. delete(ByVal handlername As String, ByVal rückmeldung As Boolean)


      Bei der Funktion delete das selbe ;)

      Ein Beispiel (Bitte nicht Nachmachen ist sehr unsicher!) für eine Verarbeitungssoftware:

      VB.NET-Quellcode

      1. Public Class Form1
      2. dim handlername as string ="meinhandler"
      3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      4. ExecuteParams()
      5. End Sub
      6. Private Sub ExecuteParams()
      7. 'Die Parameter welche beim Start mitgegeben werden können
      8. Dim args As String()
      9. args = Environment.GetCommandLineArgs()
      10. 'bei 1 starten, weil das Programm IMMER seinen eigenen
      11. 'FULLPATH als ersten Parameter erkennt!
      12. For i As Integer = 1 To args.Length - 1
      13. Select Case args(i).ToLower
      14. Case "-?", "-help", "-info"
      15. MessageBox.Show(My.Computer.Name, "? / help / info")
      16. Case Else
      17. Try
      18. Dim pr As String = Replace(args(1), handlername & ":", "")
      19. Process.Start(pr)
      20. Catch ex As Exception
      21. MessageBox.show("Der gewünschte Prozess kann nicht gestartet werden!", MsgBoxStyle.Information, Me.Text)
      22. End Try
      23. 'MessageBox.Show("Unbekannter Parameter:" & vbCrLf & args(i), "Unbekannt!", MessageBoxButtons.OK, MessageBoxIcon.Information)
      24. End Select
      25. Next
      26. Me.Close()
      27. End Sub
      28. End Class


      Was hat uns das jetzt gebracht?
      Also: Wir könnten jetzt auf unserer Homepage einen Link einfügen

      Quellcode

      1. <a href="meinhandler:C:\Windows\cmd">CMD</a>

      Was passiert jetzt wenn ich auf den Link mit dem Text "CMD" drücke?
      Mein Computer sieht, dass es einen Handler gibt mit dem namen "meinhandler", schaut welches Programm geöffnet werden soll und übergibt nun "meinhandler:C:\Windows\cmd" als Startparameter an mein Programm weiter.
      Mit ExecuteParameter, verarbeiten wir nun besagte Parameter.

      WICHTIG: Filter bitte den Namen und den Doppelpunkt eures Handlers aus dem erhaltenen Parameter heraus, ansonsten würde, in unserem Beispiel, das Programm immer und immer wieder öffnen!

      Unsere Verarbeitungssoftware fürt nun die cmd aus.. und das durch einen Click von einer Homepage :).
      Teamspeak hat das ganze beispielsweise genutzt, damit man von einer Homepage direkt mit seinem Teamspeak-Client auf einen Voiceserver connecten kann, indem man den Handler ts3client: und besagte Parameter verwendet.

      Verwendete Programmiersprache(n) und IDE(s):
      Das ganze ist in .Net und VB10-Express erstellt worden.

      Systemanforderungen:
      Man benötigt .Net Framework 4.5

      Systemveränderungen:
      Es werden Einträge in die Registry gemacht

      Download(s):
      Im Anhang

      Lizenz/Weitergabe:
      Ihr dürft die Lib gerne weitergeben, möchte aber darauf hinweisen, dass bitte nur der Link zu diesem Thread weiter gegeben wird um Probleme zu vermeiden. Ich werde Updates hier in den Startpost hochladen.


      Liebe Grüße :)
      Dateien
      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:
      Moin,

      passe bitte die Funktions- und Parameternamen and die Guidelines an, also groß geschrieben und bei den Parametern UpperCamelCase (ohne Unterstriche oder ähnliches) verwenden.
      Das ist halt Standard und sieht besser aus.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: