私有协议为 coffeeclass://xxxxxx.mp4
注册表如下
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\coffeeclass]
@="coffeeClass Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\coffeeclass\DefaultIcon]
@="D:\\Program Files (x86)\\coffeedrm\\coffeedrmPlayer1.2.8.27en\\bin\\coffeecoffeedrmPlayer.exe"
[HKEY_CLASSES_ROOT\coffeeclass\shell]
@=""
[HKEY_CLASSES_ROOT\coffeeclass\shell\open]
@=""
[HKEY_CLASSES_ROOT\coffeeclass\shell\open\command]
@="\"D:\\Program Files (x86)\\coffeedrm\\coffeedrmPlayer1.2.8.27en\\bin\\coffeecoffeedrmPlayer.exe\" \"%1\" "
以上代码保存为 .reg文件双击安装就可以修改注册表
以下是nsis代码,原理一样
WriteRegStr HKCR "coffeeClass" "" "coffeeClass Protocol"
WriteRegStr HKCR "coffeeClass" "URL Protocol" ""
WriteRegStr HKCR "coffeeClass\DefaultIcon" "" "$INSTDIR\bin\coffeeClassPlayer.exe,0"
WriteRegStr HKCR "coffeeClass\shell" "" ""
WriteRegStr HKCR "coffeeClass\shell\open" "" ""
WriteRegStr HKCR "coffeeClass\shell\open\command" "" '"$INSTDIR\bin\coffeeClassPlayer.exe" "%1"'
调用exe的时候,协议的路径,会以参数(代码中的%1)的形式传递给 exe的main函数。
另外注意单例模式的应用,需要将参数发送给已经运行的exe。