Creating Custom Protocol (Windows 7)

前端 未结 2 1409
猫巷女王i
猫巷女王i 2020-12-31 21:02

I\'ve been trying to create a custom protocol (open_php_file://) to open local files through the browser. I\'ve created the following registery-keys:

HKEY_CL         


        
相关标签:
2条回答
  • 2020-12-31 21:36

    Windows always replaces %1 with the full URI that was entered. AFAIK there is no way to change that behavior.

    This leaves you two options:

    1. If you've written the program being called yourself, you can filter the URI when it is being invoked.
    2. You could use an intermediate program that acts as a filter for the URI and then forwards the result to the actual protocol implementation. Fortunately for you, someone has already done exactly that. See 'CustomURL' on CodePlex. CustomURL is a small utility for registering custom URL protocols. For example you can associate the rdp:// protocol with Remote Desktop Client or the ssh:// protocol with Putty or another SSH client.
    0 讨论(0)
  • 2020-12-31 21:38
    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\openphpfile]
    @="\"URL:openphpfile Protocol\""
    "EditFlags"=hex:02,00,00,00
    "URL Protocol"=""
    
    [HKEY_CLASSES_ROOT\openphpfile\DefaultIcon]
    @="\"C:\\Users\\ABC\\Documents\\Programs\\CB\\Chunks\\CGI.exe\",0"
    
    [HKEY_CLASSES_ROOT\openphpfile\shell]
    
    [HKEY_CLASSES_ROOT\openphpfile\shell\open]
    
    [HKEY_CLASSES_ROOT\openphpfile\shell\open\command]
    @="\"C:\\Users\\ABC\\Documents\\Programs\\CB\\Chunks\\CGI.exe\" -c \"%1\""
    

    Basically the problem was with the underscores in your protocol.Once removed everything started working fine.You can change the path of executable as per your wish i.e. "C:\Program Files (x86)\NuSphere\7.0\phped.exe".

    I tried openphpfile:blast and it worked quite nicely :)

    EDIT:

    the problem with this solution is that %1 gets replaced with "open_php_file://[file]" instead of just "[file]". This way I need some sort of filter that chops "open_php_file://".

    put a space after openphpfile:[Space]Your_Content and change parameter to %2 you will get the expected result

    [HKEY_CLASSES_ROOT\openphpfile\shell\open\command]
    @="\"C:\\Users\\ABC\\Documents\\Programs\\CB\\Chunks\\CGI.exe\" -c \"%2\""
    
    0 讨论(0)
提交回复
热议问题