注册表打开的一些记录

 

1、传一个参数

新建 alert.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\alert]
@="URL: Alert Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\alert\DefaultIcon]
@="iexplore.exe,1"

[HKEY_CLASSES_ROOT\alert\shell]

[HKEY_CLASSES_ROOT\alert\shell\open]

[HKEY_CLASSES_ROOT\alert\shell\open\command]
@=" cmd /c set m=%1 & call set m=%%m:alert:=%% & call \"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %%m%% & exit"

测试:<a href="alert://www.baidu.com?a=1" />test</a>

2、传递多个参数

[HKEY_CLASSES_ROOT\alert\shell\open\command]

@="cmd /c set m=%1 & call set m=%%m:alert:=%% & call set m=\"%%m:separator=&%%\" & call \"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %%m%% & exit"

测试:<a href="alert://www.baidu.com?a=1separatorb=2" />test</a>

3、第二种写法存在问题,如果打开之后不关闭IE,再次点击会出现错误

新建alert.bat

@echo off
set m=%m:alert:=%
set m="%m:separator=&%"
start "" "C:\\Program Files\\Internet Explorer\\iexplore.exe" %m%
exit

修改reg

[HKEY_CLASSES_ROOT\alert\shell\open\command]
@="cmd /c set m=%1 & \"C:\\Program Files\\WisoftAlert\\alert.bat\" %%m%% & exit"

4、链接中直接使用&符号

修改alert.reg,将参数%1用双引号引起来

[HKEY_CLASSES_ROOT\alert\shell\open\command]
@="\"C:\\Program Files\\WisoftAlert\\alert.bat\" \"%1\""

修改alert.bat

@echo off
set m=%1%
set m=%m:alert:=%
start "" "C:\\Program Files\\Internet Explorer\\iexplore.exe" %m%
exit

posted @ 2022-01-17 16:31  若白过隙  阅读(148)  评论(1编辑  收藏  举报