我一直在尝试创建一个自定义协议(通过浏览器打开本地文件的file://)open_php_。我已经创建了以下注册键:
HKEY_CLASSES_ROOT
open_php_file
(Default) = "URL:PHPEd protocol"
URL Protocol = ""
DefaultIcon
(Default) = "phped.exe"
shell
open
command
(Default) = "C:\Program Files (x86)\NuSphere\7.0\phped.exe" "%1"问题是:我无法在我的浏览器中打开文件(例如:file://c:\file.txt),open_php_和协议没有在windows默认程序中列出。
发布于 2012-08-06 03:27:33
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\""基本上,问题是你的protocol.Once中的下划线被删除了,一切开始工作,fine.You可以根据你的意愿改变可执行文件的路径,即"C:\Program Files (x86)\NuSphere\7.0\phped.exe“。
我尝试过openphpfile:blast,它工作得很好:)
编辑:
这个解决方案的问题是%1被替换为"open_php_file://file“”而不只是“open_php_”。这样的话,我需要某种过滤器来去除"open_php_file://".“
在openphpfile:SpaceYour_Content后面加一个空格,并将参数更改为%2,您将获得预期的结果
[HKEY_CLASSES_ROOT\openphpfile\shell\open\command]
@="\"C:\\Users\\ABC\\Documents\\Programs\\CB\\Chunks\\CGI.exe\" -c \"%2\""发布于 2012-08-06 03:34:03
Windows始终将%1替换为输入的完整URI。AFAIK没有办法改变这种行为。
这给你留下了两个选择:
https://stackoverflow.com/questions/11671261
复制相似问题