Ответ 1
Он был исправлен в обновлении Windows 10 от 12.11.2015
Минимальный рабочий пример с QML JumpList (такое же поведение при использовании QWinJumpList в С++).
import QtQuick 2.3
import QtQuick.Window 2.2
import QtWinExtras 1.0
Window {
visible: true
JumpList {
JumpListCategory {
visible: true
title: "Test"
JumpListLink {
title: "Test Link"
executablePath: "http://google.com"
}
}
}
}
После запуска приложения вы можете нажать правую кнопку мыши на приложении в панели задач Windows и посмотреть на что-то вроде:
Если нажать на пункт меню Test Link
, браузер по умолчанию с http://google.com
url должен быть открыт из-за того, что под капотом используется выполнение оболочки. Это хорошо работает в Windows 7, 8, 8.1.
В Windows 10 это не работает, пока вы не привязываете приложение к панели задач руками. После этого ссылка работает.
Почему это так и как это можно исправить?
ОБНОВЛЕНИЕ 1. Это странное поведение было протестировано с помощью Qt 5.5, 5.5.1, 5.6 и главной ветки в Windows 10 - dev, сначала выпущенной домашней версией, final home, pro. И результаты такие же - не работают. Кроме того, например, chrome использует пользовательский список (раздел site
), и он отлично работает без фиксации.
ОБНОВЛЕНИЕ 2: вот моя ошибка qt QTBUG-49486 об этом и связанная с ней QTBUG-48751. Но проблема в том, что разработчики Qt не знают, как исправить эту проблему.
Он был исправлен в обновлении Windows 10 от 12.11.2015