Программный доступ к наиболее часто используемым приложениям в Windows 8.1
В меню "Пуск" Windows 8.1 представлен список приложений, которые можно отсортировать по наиболее часто используемым (кнопка "Windows"> "Стрелка вниз"> "Приложения: по наиболее используемым"). Есть ли способ программно получить список этих приложений в этом порядке в C#? Если не в этом порядке, хотя бы список наиболее часто используемых и / или умеренно используемых приложений, отображаемых в меню "Пуск" Windows 8.1?
1 ответ
Ответ, вероятно, да, вы можете, хотя это не рекомендуется (и не просто).
Раймонд Чен довольно четко описал это в своем блоге: "Почему нет программного доступа к списку контактов меню" Пуск "?", В нем говорится о другой проблеме в Windows XP, но я думаю, что мораль этой истории применима и здесь, что этой информацией слишком легко злоупотреблять и, следовательно, публичный API недоступен. У Stackru также есть вопрос, который напрямую касается списка MFU (см. Этот вопрос), и ответы таковы, что вам просто не следует этого делать.
Дело в том, что список MFU, который вы видите, хранится в разделе реестра UserAssist, а его значения зашифрованы (раньше это был ROT13, но я не знаю, для 8.1). Дидье Стивенс написал графический интерфейс, который расшифровывает значения (см. Сообщение в блоге), но он не обновлялся с момента выхода 8.1. Для чего стоит автор включил исходный код, но это для более старой версии. Вы можете, вероятно, расширить его код, чтобы он поддерживал 8.1, если вы можете выполнять криптоанализ.