Sign in to follow this  
Followers 0

Web Protocol Managing

8 posts in this topic

Posted (edited)

This will let you get, create, delete protocols.

Heres a GUI & UDFs

Example Of Use: Posted Image

Example Of GUI: Posted Image

#include <GUIConstants.au3>
#Include <GuiListView.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("AForm1", 571, 429, 193, 115)
$ListView1 = GUICtrlCreateListView("Protocol|Command", 0, 1, 570, 382)
_GUICtrlListViewSetColumnWidth( $ListView1, 0, 80 )
_GUICtrlListViewSetColumnWidth( $ListView1, 1, 470 )
$Button1 = GUICtrlCreateButton("Get Protocols", 235, 392, 80, 33, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            ProgressOn( "Searching", "Please Wait" )
            _GUICtrlListViewDeleteAllItems ( $ListView1 )
            $array = _ProtocolGet()
            ProgressOff()
            For $i = 0 To UBound( $array, 1 )-1
                _GUICtrlListViewInsertItem ( $ListView1, -1, $array[$i][0]&"|"&$array[$i][1] )
            Next
    EndSwitch
WEnd

#cs
Function:
            _ProtocolDelete
Discription:
            Deletes a protocol from the registry.
Params:     $protocol
                The name of the protocol
WARNING:
            Using this improperly can cause problems make sure
            you only delete a protocol you created or you know
            will not take effect on your computer.
#ce
Func _ProtocolDelete($protocol)
    RegDelete( "HKEY_CLASSES_ROOT\"&$protocol )
    If @error Then
        Return @error
    Else
        Return 1
    EndIf
EndFunc

#cs
Function:
            _ProtocolCreate
Discription:
            Creates a protocol and assigns a name and command to it.
Params:     $protocol   = The protocol
            $name       = The name of the protocol
            $command    = The command to run
                note: use  "%1"  after the program to add the url
#ce
Func _ProtocolCreate($protocol, $name, $command)
    RegWrite("HKEY_CLASSES_ROOT\"&$protocol)
    RegWrite("HKEY_CLASSES_ROOT\"&$protocol, "", "REG_SZ", "URL:"&$name)
    RegWrite("HKEY_CLASSES_ROOT\"&$protocol, "URL Protocol", "REG_SZ", "")
    RegWrite("HKEY_CLASSES_ROOT\"&$protocol&"\shell\open\command")
    RegWrite("HKEY_CLASSES_ROOT\"&$protocol&"\shell\open\command", "", "REG_SZ", $command)
EndFunc
#cs
Function:
            _ProtocolGet
Discription:
            Gets the protocols from the registry using a two dimension array.
            $array[index][0] = Protocol
            $array[index][1] = Command
Params:     None
#ce
Func _ProtocolGet()
    Local $i = 0
    Local $ii = 0
    Dim $protocolarray[1][2]
    While 1
        $i = $i + 1
        $protocol = RegEnumKey("HKEY_CLASSES_ROOT", $i)
        If @error <> 0 then
            Return $protocolarray
        Else
                RegRead("HKEY_CLASSES_ROOT\"&$protocol, "URL Protocol")
            If @error = 0 Then
                $command = RegRead("HKEY_CLASSES_ROOT\"&$protocol&"\shell\open\command" , "")
                If @error = 0 Then
                    ReDim $protocolarray [$ii+1][2]
                    $protocolarray[$ii][0] = $protocol
                    $protocolarray[$ii][1] = $command
                    $ii = $ii + 1
                EndIf
            EndIf
        EndIf
    WEnd
EndFunc
Edited by CyberZeroCool

Share this post


Link to post
Share on other sites



Posted (edited)

It displays all the protocols, but I can't access them.

How do you create these etc?

Edited by Secure_ICT

Share this post


Link to post
Share on other sites

Posted

It displays all the protocols, but I can't access them.

How do you create these etc?

Use the UDFs in the script. I'm only using the get to get the protocols in the gui

Share this post


Link to post
Share on other sites

Posted

I just wanted to revisit this topic because I just forgot about it and found it. I want to share it again to see if anyone could use this. I makes for a great feature for you internet/network programs.

Share this post


Link to post
Share on other sites

Posted

I can find use out this.

thanks.

Share this post


Link to post
Share on other sites

Posted

Cool :D

Share this post


Link to post
Share on other sites

Posted

Long time, no posts. I found my Topic I made 5 years ago on this and looking to see if there is a better solution for what I need.

I'm trying to make a print option on a Web-based POS (point of sale) terminal computer. The POS uses Firefox mainly and the cash drawer pops open only when a receipt is printed. I need a nice integrated solution to print from the browser without the dialog?

Anyone have any ideas? I figured this might work, just make an app that listens for that protocol and then takes the active window, send the print command and click print. Basically unless someone has a better idea?

Thanks,

CyberZeroCool

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0