Я прочитал много вопросов о переполнении стека, а также всю соответствующую документацию Microsoft, которую смог найти, однако не смог найти точного ответа.
Я регистрирую свою программу как приложение по умолчанию для указать c расширение в Windows 10. Я добавил следующие записи в реестр:
HKCU\Software\Classes\my-program.ext
HKCU\Software\Classes\.ext\(Default)
= my-program.ext
HKCU\Software\Classes\.ext\OpenWithProgIds\my-program.ext
Все работает отлично, связь успешно создана.
Однако Я не понимаю цели OpenWithProgIds
. Я думал, что это список альтернативных приложений для этого расширения, однако даже без добавления my-program.ext
к OpenWithProgIds
моя программа по-прежнему присутствует в списке «Открыть с помощью» , как и все предыдущие приложения зарегистрирован через .ext\(Default)
.
Кажется, что существует какой-то кэш, содержащий все ранее связанные программы для определенного расширения c. Но если так, зачем нам вообще нужен OpenWithProgIds
? Вероятно, такое поведение было введено в Windows 10, а OpenWithProgIds
считается устаревшим.
Буду признателен за любые мысли или разъяснения.