Вся інформація про асоціацію розширень файлів зберігається в реєстрі. І якщо ви трохи переглядаєте, зрозуміти, як все працює, не так вже й складно. Для загальномашинних асоціацій все відбувається в корені HKEY_CLASSES_ROOT . Ручне редагування цього матеріалу дає вам надзвичайну владу над розширеннями ваших файлів (хоч і виснажливими). Просто створіть резервну копію у випадку, якщо ви викрутили речі та хочете відновити.
Кожна асоціація файлів має підрозділ під назвою .xyz, де xyz є розширенням вашого файлу. Значення (за замовчуванням) для цього ключа встановлено в довільній рядку. Більшість програм, які реєструють розширення файлів, встановлюють його на щось читабельне для людей. Наприклад, .pdf в моїй системі встановлено на FoxitReader.Document . У цьому ключі багато інших значень, але нічого не є обов'язковим, крім значення (За замовчуванням).
Для будь-якого встановленого значення (за замовчуванням) у корені HKEY_CLASSES_ROOT буде відповідний підрозділ з тим самим іменем. Значення (за замовчуванням) цього ключа по суті є "дружнім ім'ям" типу файлу. Цей ключ також може мати багато підрозділів, але нас цікавлять лише DefaultIcon та Shell .
DefaultIcon, як ви, напевно, здогадалися, керує піктограмою для цього типу файлу. Значення (за замовчуванням) для цієї клавіші повинно бути встановлено у шлях файлу значків. Або якщо значок знаходиться у файлі .exe, встановіть його на шлях .exe та додайте кому та індекс значка наприкінці шляху. Наприклад, для FoxitReader.Document DefaultIcon встановлено значення
C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE,1
Shell - це місце, де ви налаштували всі "дії" для цього типу файлів. Для кожної дії, яку ви хочете визначити, створіть підрозділ, який називається так, як ви хочете назвати дію. Більшість типів мають принаймні одну дію, яку називають відкритою . У рамках нового підрозділу цієї дії створіть підрозділ під назвою Command . Значення (за замовчуванням) цього клавіші Command - це в основному командний рядок, який виконується при натисканні / виконанні цієї дії. Наприклад, відкрита команда на FoxitReader.Document є
"C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE" "%1"
Аргумент "% 1" встановлюється до шляху файлу, з якого запущено дію.
Якщо у вас визначено лише одну дію для даного типу файлу, я вважаю, що це буде дія за замовчуванням, яка виконується, якщо файл двічі клацнув. Якщо є кілька можливих дій, ви можете встановити , який з них буде за замовчуванням шляху зміни ( по замовчуванню) значення Shell ключа. Просто встановіть це ім'я дії, якою ви хочете стати за замовчуванням.
Зважаючи на все це, не дуже ефективно робити це з нуля. Напевно, простіше використовувати вбудовані інструменти, щоб пройти більшу частину шляху, а потім просто налаштувати речі вручну, що інструменти не дозволяють вам робити. Я, мабуть, також повинен зазначити, що вся ця інформація базується на XP, але я майже впевнений, що жодна з них не змінилася для Vista чи Win7.