openwithprogids в реестре что это
Openwithprogids в реестре что это
Этот форум закрыт. Спасибо за участие!
Лучший отвечающий
Вопрос
Установлена файловая ассоциация для торрент-файлов. Я хочу её удалить, чтобы каждый раз при запуске торрент-файла Windows спрашивала меня, какой программой его открыть. Как это сделать?
Пытался с помощью программы «Unassoc», не помогло.
Ответы
1. Смотрите на файл, какого он у Вас расширения.
2. Заходите в regedit > HKEY_CLASSES_ROOT > Находите расширение > Выбираете и открываете ключ Default> Удаляете значения.
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий.
1. Смотрите на файл, какого он у Вас расширения.
2. Заходите в regedit > HKEY_CLASSES_ROOT > Находите расширение > Выбираете и открываете ключ Default> Удаляете значения.
Сделал так, потом перезагрузился. Но двойной щелчок по-прежнему открывает файл в программе по умолчанию. Я даже удивился. Тогда попробовал удалить ещё подразделы «OpenWithList» и «OpenWithProgIds» — помогло! Правда при этом списки программ, с помощью которых я открывал это расширение, очистились, но это не беда. Главное, Windows стала спрашивать, какой программой открыть, что и требовалось!
Правда, очень жаль, что каждый раз нужно делать лишние телодвижения мышью: сначала щёлкать «Выбор программы из списка установленных программ», а потом снимать флажок «Использовать выбранную программу для всех файлов такого типа». Никогда не понимал, зачем разработчики программ устанавливают по умолчанию флажки, которые предотвращают в дальнейшем появления окон, в которых эти самые флажки отображаются. Получается, те пользователи, которые хотят пользоваться этим окном, вынуждены КАЖДЫЙ РАЗ снимать этот флажок, а те, кому окно не нужно, могут вообще ничего не нажимать. Это ведь несправедливо! Намного удобней было бы, если бы флажок был снят по умолчанию: в таком случае тем пользователям, которые больше не хотят видеть это окно, достаточно лишь ЕДИНОЖДЫ установить флажок «больше не показывать», а те, которые хотят пользоваться окном постоянно, могут не снимать этот флажок КАЖДЫЙ РАЗ. По-моему, это было бы намного логичнее. А ещё мне кажется странным, что операционная система не позволяет штатными средствами исправить положение, если пользователь случайно один раз забудет снять флажок «больше не спрашивать». Для этого приходится блин в реестр лезть. Обидно. Даже в XP была возможность удалить ассоциацию через GUI, а теперь вот в реестре копайся. Неприятно. Но эти все рассуждения относятся, конечно, не к Вам, а к разработчикам Windows 7.
Указание обработчиков файлов для расширений имен файлов
Существует несколько способов определить приложение, которое обрабатывает файл с определенным расширением. Команды Опенвислист и Опенвиспрогидс — это два способа указать обработчики файлов в записи реестра для расширения файла.
Команда Опенвислист
Ключи, указывающие приложения, находятся в списке в разделе HKEY_CLASSES_ROOT\Applications.
Добавив ключ Опенвислист, вы объявили, что приложение поддерживает расширение файла, даже если другое приложение становится владельцем расширения. Это может быть будущая версия приложения или другого приложения.
опенвиспрогидс
Используйте следующее соглашение об именовании для файлов ProgID с версиями, чтобы избежать дублирования с регистрацией других поставщиков:
Расширение файла | Идентификатор ProgID |
---|---|
расширение | ProductName. расширение. versionMajor. versionMinor |
OpenWithProgids ключ поддерживается только в Windows XP. Так как другие операционные системы не пропускают этот ключ, не используйте его в качестве единственной регистрации для обработчиков файлов. используйте этот ключ, чтобы обеспечить лучшую работу пользователей в Windows XP.
Добавьте нужные идентификаторы ProgID в качестве значений типа REG_NONE. В следующем коде приведен пример регистрации идентификаторов ProgID для расширения файла (.Ext).
Идентификатор ProgID, указанный в качестве значения по умолчанию для расширения файла, является обработчиком файлов по умолчанию. Если изменить ProgID для расширения файла, которое поставлялось с предыдущей версией Visual Studio или может быть переработано другими приложениями, необходимо зарегистрировать OpenWithProgids ключ для расширения файла и указать новый идентификатор ProgID в списке вместе со старыми поддерживаемыми идентификаторами ProgID. Пример:
Если старый идентификатор ProgID имеет связанные с ним команды, эти команды также будут отображаться в разделе Открыть с именем продукта в контекстном меню.
Ассоциация файлов
Содержание:
Ассоциация файлов – задание соответствия между конкретным типом данных с определённым расширением и программой, которая открывает его по умолчанию. Правильная ассоциация позволяет обычным двойным щелчком мыши открывать файлы в нужной программе.
В Windows XP и более ранних системах для ассоциации файлов использовался в основном диалог контекстного меню «Открыть с помощью». Начиная с «Семёрки», механизм ассоциации файлов немного изменился и для этого появились и другие инструменты.
В статье ниже мы рассмотрим какие существуют способы ассоциации файлов в новых версиях Windows и Вы научитесь правильно сопоставлять программы, а также исправлять ошибки ассоциаций.
Как открыть файл с помощью нужной программы
Для ускорения и упрощения работы с различными типами данных в Windows важно уметь правильно настроить ассоциации файлов.
Среди многих удобств, за которые пользователи любят Windows, нельзя не вспомнить о функции быстрого открытия различных файлов в сопоставленной для них программе. Например, кликнул два раза по DOC-файлу и он открылся в текстовом редакторе. Или, скажем, дважды нажал левой кнопкой мыши по MP3-треку и он заиграл в аудиоплеере.
Однако, как и многие другие полезные функции, такая ассоциация файлов может сыграть с пользователем и нехорошую шутку. Например, в один прекрасный (или не очень) день Вы можете обнаружить, что у Вас не запускается ни одна программа, поскольку все EXE-файлы открываются, например, в Блокноте.
Чтобы не впасть в панику при возникновении подобных ошибок и быстро всё исправить важно знать принципы ассоциации файлов в Windows и способы их восстановления.
Как работает ассоциация файлов
Технически ассоциация файлов в Windows работает благодаря реестру. В нём создаются специальные записи, образующие пары типа «расширение файла – программа», которые и задают соответствия по умолчанию. Соответственно, создать такие записи для ассоциации файлов можно при помощи Редактора реестра вручную. Но делать это стоит только в крайних случаях.
В Windows существует несколько способов ассоциации файлов без необходимости правки реестра. И первая из них – ассоциация при установке программ. Инсталляторы некоторых приложений уже имеют в себе заложенный механизм, который ассоциирует определённые типы данных c устанавливаемым софтом автоматически или по выбору пользователя:
Такой способ является весьма удобным, поскольку позволяет массово ассоциировать с нужной программой сразу целый ряд типов файлов без необходимости делать это по одному (как при использовании других способов). Однако, к сожалению, не все программы умеют это делать, а среди тех, которые умеют, не все корректно работают с появившимся ещё в Windows Vista механизмом защиты UAC.
Поэтому в ряде случаев Вам, всё же, придётся настраивать ассоциации файлов вручную. Рассмотрим возможные способы.
Ассоциация файлов через «Открыть с помощью»
Ещё со времён Windows 98 данный способ ассоциации файлов был одним из наиболее востребованных ввиду своей простоты. Заключается он в том, что в контекстном меню нужного файла вызывается команда «Открыть с помощью» и из предложенного списка или путём произвольного выбора пользователь указывает, какой бы программой хотел воспользоваться:
При этом, если в диалоге выбора будет активной специальная галочка «Использовать для всех файлов», то автоматически создастся ассоциация текущего типа файла с выбранной программой:
Если же в диалоге выбора нет нужной Вам программы, нажмите кнопку «Дополнительно» внизу и в открывшемся окне укажите исполняемый файл требуемого приложения. Такой способ особенно удобен, например, для ассоциации файлов с portable-версиями любого софта.
Стоит заметить, что диалог выбора программ для сопоставления может появиться также, если Вы попытаетесь открыть двойным щелчком файл, который ещё ни с чем не ассоциирован в системе. Аналогичный диалог открывается, если в контекстном меню выбрать «Свойства» файла, а затем на вкладке «Общие» нажать кнопку «Изменить» в строчке «Приложение».
Штатная оснастка для ассоциации файлов
В Windows XP появилась специальная системная оснастка для просмотра ассоциаций типов файлов, которая вызывалась из Панели управления. Правда, нормально функционировать она начала только с «Семёрки», но с тех пор стала довольно-таки удобным инструментом.
Чтобы получить доступ к инструментам оснастки нужно вызвать Панель управления (универсальный способ для всех Windows: WIN+R – команда «control» (без кавычек) – Enter) и перейти в раздел «Программы по умолчанию». Здесь нас интересуют первые два инструмента:
Первый из них – «Задание программ по умолчанию». Он очень удобен для массовой ассоциации файлов. В левой части окна оснастки мы можем выбирать зарегистрированные программы из списка, а в правой имеется две кнопки. Первая («Использовать эту программу по умолчанию») позволяет автоматически ассоциировать выбранное приложение со всеми поддерживаемыми ею типами данных. Вторая же позволяет задать ассоциации выборочно:
Второй инструмент для ассоциации файлов называется «Сопоставление типов файлов или протоколов с конкретными программами». Здесь мы можем точечно настроить или перенастроить ассоциацию конкретного типа файла с определённой программой. Достаточно выделить нужное Вам расширение файла из списка зарегистрированных, нажать кнопку «Изменить программу» и в появившемся окошке выбрать нужную:
Ассоциация файлов в Командной строке
Если Вас не смущает интерфейс Командной строки, то в штатной консоли Windows Вы можете обнаружить две полезные для нашей задачи команды. Первая из них – assoc:
Данная команда позволяет просматривать все сопоставленные в системе типы файлов и точечно менять или удалять их ассоциации. Выполнение команды без дополнительных параметров выводит список всех зарегистрированных в системе типов файлов с их ассоциациями. Для удобного просмотра и дальнейшего анализа делать вывод лучше всего в файл, как это показано на скриншоте выше.
Команда ASSOC может принимать два параметра, которые разделяются между собой знаком равенства. Первый параметр указывает расширение файлов, с которым мы будем работать, а второй – зарегистрированное в системе имя ассоциированной программы.
Второй командой для настройки ассоциаций файлов в Командной строке можно назвать ftype:
Данная команда напоминает по принципу работы предыдущую. Но, в отличие от неё, даёт возможность настроить принцип обработки файлов зарегистрированными для них командами с возможностью выбора не только исполняемого файла, но и нужных параметров. Чтобы лучше понять, что имеется в виду, взглянём на сравнение результатов выполнения команд ASSOC и FTYPE для расширения 3GP:
KMPlayer.3gp=»C:\Program Files (x86)\KMPlayer\kmplayer.exe» «%1»
Результатом выполнения первого запроса стало получение команды, сопоставленной для открытия файлов с расширением 3GP. Второй запрос же позволил нам посмотреть, какая программа ассоциирована с нужной нам командой. Иными словами, при помощи ASSOC мы можем посмотреть, какая команда используется для открытия того или иного типа файлов, а при помощи FTYPE настроить (или даже создать) эту команду, сопоставив её с реальным исполняемым файлом какой-либо программы.
В качестве примера практического применения обеих команд, можем создать новую ассоциацию для уже рассмотренных нами выше файлов с расширением 3GP. Допустим, мы хотим открывать их в Ace Player, для которого ещё нет зарегистрированной в системе функции. Для этого сперва при помощи FTYPE создадим такую функцию (назвав её, например, AcePlayer.3gp), а затем ассоциируем с ней сам формат файлов. В итоге получится следующая последовательность команд:
C:\Windows\system32>ftype AcePlayer.3gp=»C:\Users\Admin\AppData\Roaming\ACEStream\player\ace_player.exe» «%1»
Программы для ассоциации файлов
Несмотря на то, что в Windows и так встроен неплохой набор функций по изменению ассоциаций файлов, существуют некоторые программы, реализующие те или иные нюансы. Например, иногда возникают проблемы с выбором программ по умолчанию штатными средствами. И вот чтобы не лезть в Командную строку или реестр, можно прибегнуть к помощи специального софта для исправления таких проблем.
Если у Вас Windows Vista или 7, Вы можете воспользоваться программой Unassoc для того, чтобы полностью удалить ассоциации для конкретных типов файлов:
Программа выдаёт список всех зарегистрированных в системе файлов и имеет две основные функции. Первая – «Remove file association», собственно, и удаляет любое сопоставление для выбранного типа данных. Вторая – «Delete file type» – позволяет вообще удалить регистрацию для конкретного расширения файлов. Программу удобно использовать для исправления возникающих накладок с файловыми ассоциациями, но, как уже говорилось выше, запускается она только на Windows Vista или 7.
Если же Вам нужен подобный инструмент, который бы работал во всех новых версиях операционной системы, можете попробовать программу File Association Fixer:
Как и предыдущая утилита File Association Fixer не требует установки, но имеет 64-битную версию и подходит как для «Семёрки», так и для более поздних версий Windows. К сожалению, с её помощью нельзя удалить ассоциацию для любого типа файлов зарегистрированного в системе, но, тем не менее, доступен выбор из 70 наиболее часто используемых расширений.
Ассоциация файлов в реестре
Ну и, наконец, рассмотрим принцип прямой правки ассоциаций файлов в реестре. Настоятельно рекомендую перед любыми манипуляциями сделать резервную копию реестра. Для этого откройте Редактор (WIN+R – regedit – Enter) и в меню «Файл» нажмите пункт «Экспорт». В параметрах экспорта выберите опцию «Весь реестр»:
Теперь мы готовы к экспериментам! А экспериментировать мы будем с веткой реестра HKEY_CLASSES_ROOT. В ней в верхней части хранится список всех известных системе расширений, а ниже перечень зарегистрированных функций для вызова тех или иных программ (аналогично ASSOC и FTYPE). Для начала рассмотрим пример записи с расширением файла:
Если выбрать запись с расширением файла, то у неё (если файл зарегистрирован в системе) в значении (По умолчанию) будет указана зарегистрированная функция вызова исполняемой программы (как при выполнении ASSOC). Собственно, здесь и можно изменить «привязанную» стандартную программу, через которую файлы данного типа будут открываться. Кроме того, каждое расширение может иметь ряд дополнительных веток с параметрами:
Для специфических типов файлов могут создаваться и другие ветки, но перечисленные выше являются стандартными. Они могут присутствовать у файла не все сразу, но хотя бы парочка из них будет у всех зарегистрированных и ассоциированных расширений.
Как я уже говорил, под списком расширений идёт список зарегистрированных функций вызова программ (аналог FTYPE). Посмотрим на их содержимое:
Основной веткой, содержащей в себе параметры запуска программ, здесь является SHELL. Внутри неё имеется вложение OPEN, в котором могут быть перечислены функции, отображаемые в контекстном меню файла, а уже внутри OPEN содержится ключ COMMAND, в котором прописана команда запуска исполняемого файла.
Дополнительными ключами могут также быть CLSID, в котором прописывается идентификатор класса исполняемой программы в оболочке Windows, CURVER (если есть зависимости от версии исполняемого файла) и DEFAULTICON, в котором задаётся иконка для отображения команды в контекстных меню или иных областях Проводника.
Напоследок стоит сказать, что бывают особо запущенные случаи, когда вследствие сбоя или вредоносной деятельности вирусов на компьютере нарушаются ассоциации исполняемых EXE- и BAT-файлов. Симптомами такого нарушения будет невозможность запуска программ (в том числе Командной строки и Редактора реестра)! Если Вы столкнулись с такой проблемой, Вам помогут специальные REG-файлы, которые сбрасывают ассоциации для исполняемых файлов:
Просто скачайте нужный Вам пакет твиков реестра, запустите требуемый REG-файл и перезагрузите компьютер. При следующей загрузке должны восстановиться стандартные ассоциации и Вы снова сможете запускать программы и другие исполняемые файлы.
Выводы
Ассоциация файлов в Windows – штука весьма удобная, но иногда может преподнести различные неприятные сюрпризы. И к ним нужно быть заранее готовым, чтобы потом не ломать голову над извечными вопросами «кто виноват» и «что делать» 🙂
Наша статья не скажет Вам, кто стал виновником возникших проблем (хотя, Вы наверняка догадываетесь из-за кого происходит большинство ошибок на ПК ;)), но наверняка даст Вам исчерпывающий ответ на вопрос о дальнейших действиях. Успехов Вам и корректных файловых ассоциаций!
Блог GunSmoker-а (переводы) 
. when altering one’s mind becomes as easy as programming a computer, what does it mean to be human.
пятница, 24 сентября 2010 г.
1.2: Типы файлов
Тип файла: общедоступный против закрытого
В отличие от общедоступных типов файлов, закрытые (private) или проприоритарные типы файлов обычно имеют формат, который реализуется и понимается только одним разработчиком или одним приложением. В результате закрытые типы файлов обычно уязвимы для конфликтов между приложениями. Некоторые типы файлов могут рождаться как закрытые и становиться общедоступными позже.
Примечание: Windows не делает различий между общедоступными и закрытыми файловыми типами. Это разделение имеет смысл только при принятии решений, касающихся вашего выбора при регистрации типов файлов.
Выбор расширения для типа файлов
Ваш тип файлов идентифицируется по своему расширению.
Регистрация типа файла
Подключ реестра для расширения имени файла должен иметь такую форму: расширение=ProgID. Подключи расширений имён файлов хранятся в HKEY_CLASSES_ROOT.
Установка необязательных подключей и атрибутов расширения файла
Записи расширений типов файлов в реестре имеют несколько опциональных подключей и атрибутов.
Записи расширений типов файлов, которые используются файловыми расширениями, описаны в следующей таблице. Все значения имеют тип REG_SZ.
Определения атрибутов типа файла
Присваивание атрибутов файлового типа ассоциированному ProgID позволяет вам контролировать некоторые аспекты поведения файлового типа. До Windows Vista эти атрибуты позволяли вам ограничивать область действия вкладки свойств Свойства папки для изменения различных аспектов типов файлов, таких как его иконка или действия.
Файловые атрибуты являются двоичными флагами, указываемыми как значения REG_DWORD или REG_BINARY в подключе ассоциированного с типом файла ProgID. Чтобы присвоить типу файла атрибуты, добавьте запись EditFlags в ProgID, ассоциированный с типом файла и установите в ней подходящий набор флагов. Флаги могут комбинироваться с помощью логической побитовой операции ИЛИ (OR).
См. FILETYPEATTRIBUTEFLAGS для списка возможных атрибутов типов файлов и их HEX-значений, а также деталей по программной установке и получении этих значений.
Включение приложения в диалог «Открыть с помощью»
Исключение приложения из диалога «Открыть с помощью» для файлов без ассоциаций
По-умолчанию, любое приложение, зарегистрированное в подключе HKEY_CLASSES_ROOT\Applications представлено в этом диалоге Открыть с помощью. Эти приложения представлены в Открыть с помощью вне зависимости от того, зарегистрированы ли они обрабатывать тип файла.
Эти рекомендуемые программы показываются в секции Рекомендуемые приложения диалогового окна Открыть с помощью, как показано тут:
Приложения могут отключить это отслеживание, указанием значения NoOpenWith под ключом приложения.
Примечание: если приложение зарегистрировало себя в списке OpenWithList или OpenWithProgIDs для типа файла, то оно появится в списке Рекомендуемые приложения, даже если оно укажет запись NoOpenWith. Также, не забывайте, что даже если приложение не показывается в списке программ, то пользователь всё равно может выбрать любую программу вручную.
Этот способ особенно полезен, если приложение может сохранять файл определённого типа, но не может его открывать. Приложение должно также установить флаг FOS_DONTADDTORECENT через вызов IFileDialog.SetOptions, когда оно вызывает диалог сохранения файлов. Это не даёт элементу появляться в секциях Недавние или Частые в Jump-списке приложения. Это также блокирует отслеживание приложения для OpenWithList.
Каждое поддерживаемое расширение добавляется как запись подключа SupportedTypes, как показано в следующем примере. Все записи имеют тип REG_SZ или REG_NULL, без ассоциированных значений. Если ключ SupportedTypes задан, то только файлы с этими расширениями могут быть закреплены в Jump-списке приложения или быть отслеживаемыми секциями Недавние или Часто используемые.
Запись NoOpenWith имеет приоритет над SupportedTypes и скрывает приложения из диалогового окна Открыть с помощью.
Удаление информации из реестра во время удаления приложения
Когда вы удаляете приложение, ProgID и большинство другой информации в реестра, ассоциированной с приложением, должны быть удалены во время удаления приложения. Однако, приложения, которые взяли владение над файловым типом (указанием значения по-умолчанию в ключе типа файла HKEY_CLASSES_ROOT\.extension на ProgID приложения), не должны пытаться удалить это значение во время удаления. Оставление данных на своём месте для значения по-умолчанию позволяет избежать сложностей определения, не перезаписало ли это значение другое приложение, после установки данного приложения. Windows учитывает значение по-умолчанию только, если указанный в нём ProgID зарегистрирован. Если же ProgID не зарегистрирован, то значение игнорируется, как будто его и не было.
Заметьте, что другая информация о владении типа файла хранится в поддереве HKEY_CURRENT_USER и также используется только, если приложение зарегистрировано. Поэтому, эти данные не нужно удалять, когда вы удаляете приложение.
Файловые типы, которые поддерживают открытые мета-данные
В Windows 7 и выше следующие файловые типы поддерживают открытые мета-данные.