Вопрос или проблема
У меня Windows 10, и моя проблема следующая: все мои медиафайлы открываются с помощью VLC, и я не могу различить файлы по их значкам!
Я хотел бы!
С Windows 7 не было никакой проблемы иметь разные значки, ассоциированные с разными типами файлов. Но это больше невозможно с Windows 10. Все медиафайлы имеют один и тот же значок. Маленькие программы, которые можно найти в интернете (filetypeman или Default program editor), не решают проблему. На самом деле они просто меняют значок в зависимости от exe, которое нужно использовать для открытия файлов, а не в зависимости от их расширения.
Я попытался разобраться и получил следующий результат:
В Windows 7 каждый медиафайл имеет ключ с именем ProgId со значением “VLC.расширение”, например, VLC.avi, VLC.mkv, VLC.mp3, VLC.любой. У каждого ключа VLC.ext есть свой ключ DefaultIcon, и вы можете указать другое значение.
В Windows 10 это невозможно. Все .ext ключи имеют одинаковый ключ ProgId: “Application/vlc”, и все. И, конечно, невозможно изменить это значение!
Таким образом, расширение больше не отображается. Нет разницы в значении ключа между разными типами файлов.
Единственное отличие – с WMP. У вас здесь действительно есть ключ WMP11.AssocFile.ext с ext = mp3, mp4, avi, vob, mov, m3u и так далее. Для каждого у вас есть ключ DefaultIcon, и вы можете его изменить. И действительно, вы можете иметь разные значки, ассоциированные с разными типами файлов при условии, что вы используете WMP в качестве программы по умолчанию.
Но не с другой программой
Итак, я попытался воспроизвести ассоциацию с Windows 7. Я создал файлы test.aaa и test.aab, создал в реестре 2 новых ключа .aaa и .bbb с разными DefaultIcon, но одинаковым Shell/Open/command key = “pathtovlc/vlc.exe””%1” И ЭТО РАБОТАЕТ!!!
Но (если я здесь, было “но”) я не могу удалить ключи .avi, .mp4, .mkv в реестре Windows10, чтобы переписать их! Реестр отказывается удалять.
Есть у кого идея? Как удалить ключи .avi, .mp4 и так далее или другой способ, чтобы мои медиафайлы открывались с vlc, но с разными значками?
Спасибо
Ответ или решение
Чтобы назначить различные иконки для разных типов файлов в Windows 10, важно понять основные принципы работы системы с файлами и их ассоциациями. В операционной системе Windows иконки файлов обычно связываются с типами файлов через Программные Идентификаторы (ProgId). Каждый ProgId содержит информацию о программе, которая открывает файл, и иконку, которую Windows отображает для данного типа файла. Если для всех файлов используются одинаковые ProgId и приложение для открытия, как в случае с VLC, то есть вероятность, что все файлы будут иметь одинаковую иконку.
Теория
В Windows 7 система предоставляла более гибкий механизм назначения иконок, где каждая медиа расширение (например, .avi, .mp3 и .mkv) могла иметь свой ProgId и, соответственно, собственную иконку. Однако в Windows 10 единственный ProgId может связываться сразу с множеством типов файлов, что приводит к тому, что все они отображаются с одинаковой иконкой, если открываются одной программой.
Основная трудность заключается в изменении ProgId для каждого расширения в реестре Windows, чтобы они имели разные значения иконок по умолчанию (DefaultIcon). В данном случае, попытка изменения стандартных расширений вроде .avi и .mp4 через реестр оказывается сложной задачей, так как система может защищать определённые ключи реестра от изменения или удаления.
Пример
Как вы уже обнаружили, в случае с Windows Media Player (WMP), у каждого расширения появляется собственный ProgId, например, WMP11.AssocFile.mp3, который содержит отдельный ключ DefaultIcon, с помощью которого может быть установлена различная иконка для каждого типа файла.
Вы также можете создать собственные расширения и ассоциации, изменяя реестр Windows, как вы это сделали с файлами .aaa и .aab, добавляя для каждого из них уникальные ProgId. Это работает, поскольку вы установили разные ключи реестра с отличными значениями для DefaultIcon.
Применение
Редактирование и создание ProgId в реестре:
-
Открытие Редактора реестра: Нажмите Win + R, введите
regedit
и нажмите Enter. -
Навигация к расширению файла: Перейдите к HKEY_CLASSES_ROOT и найдите нужное расширение файла, например, .mp4.
-
Создание или изменения ProgId:
- Если для вашего расширения существует ключ ProgId (например, Application/vlc), его можно попытаться изменить на уникальное как, например, CustomApp.mp4.
- Создайте подкаталог с именем CustomApp.mp4 или другим уникальным идентификатором.
-
Настройка DefaultIcon:
- Внутри CustomApp.mp4 добавьте новый подкаталог с именем DefaultIcon.
- Установите в DefaultIcon полный путь к пользовательской иконке, например, "C:\path_to_icon\icon.ico".
-
Изменение команд открывания:
- Внутри того же ProgId, создайте подкаталог shell\open\command и установите команду запускающая VLC, например, "C:\Program Files\VideoLAN\VLC\vlc.exe" "%1".
Проблемы при изменении:
- Защита реестра: Для изменения системных ключей могут потребоваться права администратора. Если вам не удается изменить ключи, попробуйте открыть редактор реестра с правами администратора.
- Безопасность и резервные копии: Всегда резервируйте реестр перед внесением изменений, так как неправильное внесение ролеправок может привести к неработоспособности системы.
Использование программного обеспечения:
Если внесение изменений в реестр вручную кажется сложным или рискованным, вы можете попробовать программы от сторонних разработчиков, которые предназначены для изменения ассоциаций файлов и их иконок, хотя будьте осторожны с их эксплуатацией, чтобы избежать потенциальных проблем с совместимостью или безопасностью.
В заключение, назначение разных иконок для разных типов файлов в Windows 10 требует тщательной настройки ассоциаций файлов в реестре, что можно сделать вручную или с использованием софта. Необходимость подобного подхода подтверждает изменившаяся в Windows 10 политика управляющая ассоциациями файлов по сравнению с Windows 7. Важно помнить, что хотя такое редактирование возможно, оно требует определенных технических навыков и ответственности в подходе.