Сервісний центр VPSGroup ремонт комп'ютерної техніки, заправка картриджів, ремонт оргтехніки, Київ, Виставковий центр, Васильківська, 55

Вибір програм за замовчуванням в Windows 10 (частина 2).

Продовжуємо розмову про програми за замовчуванням в Windows 10. Сьогодні ми розглянемо параметри реєстру, що відповідають за налаштування асоціацій файлів.

Перше місце, куди ми заглянемо, це розділ HKEY_CLASSES_ROOT, саме в ньому можна подивитися тип файлу і асоційовані з ним програми.

Примітка. Розділ HKEY_CLASSES_ROOT (HKCR) складається з вмісту розділів HKLM \ SOFTWARE \ Classes і HKCU \ Software \ Classes. Відповідно зміни можна вносити не в HKCR, а один з цих двох розділів. У HKLM \ SOFTWARE \ Classes містяться настройки для всіх користувачів комп'ютера, в HKCU \ Software \ Classes - настройки для поточного користувача.

Кожен зареєстрований в системі файл зберігає свої настройки в двох підрозділах, які називаються підрозділ розширення і підрозділ ідентифікатора файлу. Для прикладу візьмемо звичайний текстовий файл. Його підрозділ розширення має назву .txt і відповідає розширенню файлу з точкою перед ним.А в параметрі за замовчуванням міститься ідентифікатор даного типу файлу - txtfile.



Далі в HKCR знаходимо розділ txtfile, відповідний знайденому ідентифікатором і переходимо до підрозділу HKCR \ txtfile \ shell \ open \ command. Тут в параметрі за замовчуванням зберігається команда, яка використовується системою для відкриття всіх файлів даного типу.Для текстового файлу вона має вигляд% SystemRoot% \ System32 \ Notepad.exe% 1, де% SystemRoot% \ System32 \ Notepad.exe - це шлях до програми Notepad, а замість% 1 підставляється ім'я файлу.



Для управління цими настройками є спеціальні утиліти командного рядка assoc і ftype. За допомогою утиліти assoc можна подивитися тип файлу (ідентифікатор):

assoc.txt

А потім ftype покаже для нього програму за замовчуванням:

ftype txtfile



за допомогою ftype можна не тільки подивитися, але і поміняти програму за замовчуванням. Для прикладу вкажемо в якості програми для відкриття txt-файлів редактор Notepad ++ такою командою:

ftype txtfile = "C: \ Program Files (x86) \ Notepad ++.exe ""% 1 "



Описані вище параметри містять настройки системи за умовчанням і застосовуються до тих пір, поки користувач не перевизначити їх. Поточні ж налаштування користувача зберігаються в розділі HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.

В розділі OpenWithList можна подивитися список програм, якими відкривали даний тип файлів.Так в нашому випадку для відкриття текстових файлів використовувалися Notepad, Wordpad і Notepad ++. У параметрі MRUList міститься черговість, в якій ці програми використовувалися - спочатку Wordpad (b), потім Notepad (a) і останнім Notepad ++ (c).



А коли ви відкриваєте в провіднику властивості текстового файлу і змінюєте програму за замовчуванням, то ці настройки зберігаються в розділі HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \.txt \ UserChoice. У параметрі ProgID зберігається ідентифікатор, а в параметрі Hash - хеш програми. Хеш обчислюється кожен раз, коли ви вибираєте програму за замовчуванням. Його наявність свідчить про те, що настройка була проведена користувачем, за допомогою спеціально призначеної для цього оснастки.Цей механізм призначений для захисту від шкідливого ПО, яке може підмінити файлові асоціації без відома користувача.



змінити або видалити параметри в UserChoice не можна, але можна видалити весь розділ цілком. Це призведе до скидання поточних налаштувань і повернення налаштувань операційної системи за умовчанням.Для прикладу скинемо настройки для графічних файлів типу png.



А тепер увага. Якщо поштова асоціації для png файлів за допомогою assoc і ftype, то можна помітити, що файли даного типу за замовчуванням асоційовані з програмою Перегляд фотографій Windows (Windows Photo Viewer), а настройки скинулися до додатка Фотографії (Photos).



А параметр ProgID замість нормального назви прийняв якесь незрозуміле значення, що складається з хаотичного набору букв і цифр.



Справа в тому, що в Windows 10 крім класичних програм є сучасні програми ( modern-apps). І якщо заглянути в розділ HKCU \ SOFTWARE \ Classes, то можна з'ясувати, що це саме значення AppX43hnxtbyyps62jhe9sqpdzxn1790zetc якраз відповідає додатку Фотографії.



Щоб з'ясувати, для яких ще файлів додаток Фотографії є ​​програмою за замовчуванням, треба перейти в HKCU \ SOFTWARE \ Classes \ Local Settings \ Software \ Microsoft \ Windows \ CurrentVersion \ AppModel \ Repository \ Packages і відкрити розділ, який відповідає цьому додатку. Знайти потрібний розділ просто - його ім'я складається з назви програми та його поточної версії, наприклад Microsoft.Windows.Photos_17.425.10010.0_x64__8wekyb3d8bbwe. Всі типи файлів, які можуть бути асоційовані з даним додатком, перераховані в підрозділі App \ Capabilities \ FileAssociations.



Це той же самий список, який можна побачити в оснащенні панелі управління при виборі зіставлень для програми.



Цей список можна відредагувати. Можна змінити асоціації для окремо взятого типу файлів, але при скиданні налаштувань для найбільш популярних форматів графічних файлів за замовчуванням буде призначено додаток Photos. Це ж стосується і інших modern-додатків, наприклад браузером за замовчуванням стає Edge, аудіоплеєром - Groove і т.д.

Така поведінка системи не дуже зручно, особливо з урахуванням того, що файлові асоціації в Windows 10 можуть скидатися мимовільно, наприклад при установці оновлень. Але не все так погано, і хоча небажане додаток можна прибрати зі списку, можна заборонити його використання для відкриття файлів певного типу.Для цього необхідно в розділі HKCU \ SOFTWARE \ Classes знайти розділ, відповідний ідентифікатором додатки для потрібного типу файлів. Значення ідентифікатора можна знайти в описаному вище розділі FileAssociations, або в розділі UserChoice, в параметрі ProgID (попередньо скинувши настройки на дефолтні).Наприклад для файлів png це те саме значення AppX43hnxtbyyps62jhe9sqpdzxn1790zetc.

Для того, щоб програма не пропонувалося за замовчуванням при скиданні налаштувань, в цьому розділі треба створити строковий параметр NoStaticDefaultVerb з порожнім значенням. А якщо додати параметр NoOpenWith, то програма не буде пропонуватися для вибору за замовчуванням при налаштуванні вручну і пропаде зі списку «Відкрити за допомогою» в контекстному меню провідника.А при скиданні налаштувань вибір програми за замовчуванням будуть проводитися відповідно до налаштувань в HKEY_CLASSES_ROOT.



Як бачите, налаштовувати програми за замовчуванням за допомогою реєстру в Windows 10 украй важко. Тому при необхідності централізованої настройки краще використовувати інші інструменти, про які я розповім в наступній статті.А на сьогодні все.

.