在微软Windows 8以上平台浏览器中使用第三方协议关联,浏览器将询问关联使用的程序。建立关联后,再次点击同一个第三方协议,将启动该程序并将protocol:// 中信息传递给程序处理。
但是现实中,由于应用程序抢占关联、微软应用商店中存在默认程序等问题,可能无法正确建立或修改第三方协议的关联程序。
在这个案例里,rtsp协议被一个叫“mvp.net”的微软商店里的应用抢占,无法修改。即使删除这个应用,在控制面版里还是改不了。我的要求是使用自己安装的VLC 或者KMPlayer来启动rtsp://
这就产生了问题。
在网上查了一圈,可以改注册表。但是Windows 8 以后的系统修改的地方有所不同,这里测试了Windows10/11 的注册表改法。
新建 HKEY_CLASSES_ROOT\rtsp
(”rtsp” 为协议名称,需要与rtsp:// 链接中的符号一致)
默认键值为 rtsp
新建键值 URL Protocol 内容为你需要处理该协议程序的绝对地址,不带引号
下面的项Default Icon 可以不要,那是在控制面板里指定协议默认应用时的默认图标,既然控制面板都用不了,也没必要用这个了。
新建 HKEY_CLASSES_ROOT\rtsp\shell
下面建立子项
HKEY_CLASSES_ROOT\rtsp\shell\open\command
在 HKEY_CLASSES_ROOT\rtsp\shell\open\command
中把默认键值改成 需要处理该协议程序的绝对地址<空格> "%1"
在浏览器中再次点击 “rtsp://” 的协议,成功激活VLC。
lwgcbo
h0tft7