Хитрости Windows 7: для профессионалов | страница 130
Можно было бы предположить, что текстовый файл так или иначе знает, что он документ Блокнота, но это не так. Вместо этого Windows решает, как обработать файл, ориентируясь исключительно на его расширение. Расширение — эго группа символов (обычно три), которые следуют за точкой в большинстве имен файлов. Например, расширением файла Readme.txt является .txt — файл текста без фор* матирования. Аналогично, расширение Resume.docx — это .docx, которое говорит Windows, что этот файл — документ в формате Microsoft Word. Некоторые подробности по этому вопросу размещены далее во врезке «Расширения файлов: пример исключений из правила».
РАСШИРЕНИЯ ФАЙЛОВ: ПРИМЕР ИСКЛЮЧЕНИЙ ИЗ ПРАВИЛА
Может показаться, что из правила о расширениях файлов есть исключения: файлы, которые, несмотря на свои расширения, кажется, знают, какие приложения их создали. Например, откройте Microsoft Excel и сохраните рабочий лист как веб-страницу (*.htm;*.html), и у получившегося файла в Проводнике будет значок Excel, хотя у остальных ваших .html-файлов есть значок, соответствующий вашему веб-браузеру по умолчанию. Кроме того, щелкните правой кнопкой на файле и выберите Редактирование, и файл откроется в Excel, а не в HTML-редакторе по умолчанию.
Происходящее является не исключением из правила «расширение определяет тип», а скорее его следствием. Когда вы устанавливаете Microsoft Office, файл msohevi.dll, среди прочего, регистрируется с некоторыми из типов файлов в реестре. В дальнейшем Windows будет просматривать в каждом .html-файле тэги в заголовке:
Если бы вы открыли файл с помощью Блокнота (Notepad) и стерли эти две строки, то нарушили бы ссылку и файл стал бы обыкновенным .htinl-файлом, с соответствующим значком и прочим. Или если вы измените расширение файла на, скажем, .txt, то Windows не будет проверять файл, а будет работать с ним как с любым другим .txt-файлом.
Некоторые могут возразить, что это несправедливо со стороны Microsoft — так изменить правила и создавать файлы, которые ведут себя не так, как все другие файлы их типа. Если вы — один из них, то можете стереть разделы реестра, указывающие на Office DLL в .html-типе файла, что не только разорвет ссылку на Excel, но и воспрепятствует тому, чтобы Windows или Excel ее постоянно восстанавливали. (Подробнее IconHandlers обсуждается далее в этой главе.) Хотя таким образом вы ухудшите функциональность (увы!), зато восстановите справедливость и, что более важно, реализуете ваши собственные предпочтения, которые Microsoft игнорирует в противном случае.