与 URL 协议关联
Assotiate with URL protocol
在我们的桌面应用程序中,我们使用注册表将其与 URL 协议相关联。
我们写入这个键:
HKEY_CURRENT_USER\Software\Classes
例如,要将我们的应用与 magnet:
link 相关联,我们使用以下代码:
QSettings settings("HKEY_CURRENT_USER\Software\Classes", QSettings::NativeFormat);
settings.setValue("magnet/Default", "URL:Magnet link");
settings.setValue("magnet/Content Type", "application/x-magnet");
settings.setValue("magnet/URL Protocol", "");
settings.setValue("magnet/DefaultIcon/Default", QDir::toNativeSeparators(icon_str));
settings.setValue("magnet/shell/Default", "open");
settings.setValue("magnet/shell/open/command/Default", QDir::toNativeSeparators(command_str));
一旦我们执行此代码,浏览器就可以在用户单击 magnet:
link.
时启动我们的应用程序
我们的应用可以使用 Desktop App Converter
转换吗?
转换后的桌面桥应用程序在 appxmanifest 中声明它们的协议关联,而不是在注册表中:
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-extensions#protocol
在我们的桌面应用程序中,我们使用注册表将其与 URL 协议相关联。 我们写入这个键:
HKEY_CURRENT_USER\Software\Classes
例如,要将我们的应用与 magnet:
link 相关联,我们使用以下代码:
QSettings settings("HKEY_CURRENT_USER\Software\Classes", QSettings::NativeFormat);
settings.setValue("magnet/Default", "URL:Magnet link");
settings.setValue("magnet/Content Type", "application/x-magnet");
settings.setValue("magnet/URL Protocol", "");
settings.setValue("magnet/DefaultIcon/Default", QDir::toNativeSeparators(icon_str));
settings.setValue("magnet/shell/Default", "open");
settings.setValue("magnet/shell/open/command/Default", QDir::toNativeSeparators(command_str));
一旦我们执行此代码,浏览器就可以在用户单击 magnet:
link.
我们的应用可以使用 Desktop App Converter
转换吗?
转换后的桌面桥应用程序在 appxmanifest 中声明它们的协议关联,而不是在注册表中:
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-extensions#protocol