与 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