Как узнать progid приложения
Связать тип файла с программой можно несколькими способами, например, с помощью диалогового окна «Открыть с помощью…» и установкой флажка «Всегда использовать это приложение для открытия», или с помощью программ по умолчанию или приложений по умолчанию. Несмотря на то, что вы можете устанавливать или изменять ассоциации с помощью графического интерфейса пользователя, нет возможности удалить существующую ассоциацию типов файлов. В этом посте рассказывается, как удалить ассоциации типов файлов с помощью редактора реестра.
Удаление ассоциации типов файлов с помощью редактора реестра
Допустим, вы неправильно связали тип файла с именем .bak и хотите удалить связь. Используйте эти шаги для удаления настроек ассоциации файлов (для .bak) из реестра.
Прежде чем продолжить, создайте точку восстановления системы. Кроме того, перед удалением экспортируйте все перечисленные ниже ключи реестра в файл .reg на тот случай, если они вам понадобятся.
- Запустите редактор реестра ( regedit.exe ) и перейдите в эту ветку:
- Запишите данные значения (по умолчанию) в правой панели. Это ProgID, связанный с этим типом файла.
- Щелкните правой кнопкой мыши ключ .bak и выберите «Удалить». Нажмите Да, чтобы подтвердить.
- Перейти к следующему HKEY_CURRENT_USER ключи и удалите .bak ключ.
Это должно удалить настройки ассоциации файлов для .bak тип файла. Удаленный тип файла теперь должен рассматриваться Windows как неизвестный; что именно то, что мы хотели.
Удалить также Progid (необязательно)
Если вы также хотите очистить ключ ProgID для того типа файла, который вы отметили ( bak_auto_file ) на шаге 3 выше, вы должны делать это только в том случае, если этот ProgID bak_auto_file не используется ни одним другим типом файла. Это важно.
На этот раз давайте возьмем пример txtfile Progid. Чтобы просмотреть список типов файлов, которые используют txtfile ProgID, запустите:
Пример: txtfile (progid используется для .txt)
В приведенном выше случае следующие расширения файлов по-прежнему используют progid txtfile:
Таким образом, вы не должны удалять HKEY_CLASSES_ROOT\txtfile раздел реестра, так как это нарушит настройки ассоциации для типов файлов, которые используют этот ключ.
Теперь давайте воспользуемся описанным выше методом и выясним, используют ли другие расширения файлов bak_auto_file Progid. Выполнение команды для bak_autofile , вы получите это:
Поскольку никакие другие типы файлов не используют этот ProgID, вы можете безопасно удалить этот ключ:
Резюме
Чтобы удалить настройки сопоставления файлов для .bak Тип файла, мы удалили следующие ключи реестра:
Это оно! Надеюсь, что это руководство помогло вам удалить нежелательную или неправильную связь типов файлов на вашем компьютере с Windows.
. when altering one's mind becomes as easy as programming a computer, what does it mean to be human.
понедельник, 27 сентября 2010 г.
1.7. Программные идентификаторы
Если вы планируете ассоциировать один или более типов файлов с новым приложением, то вы обязаны создать новый ProgID для каждого типа файлов, который вы хотите ассоциировать с приложением.
- Заметьте, что некоторые файловые типы имеют много расширений, указывающий на один ProgID. Например:
- HKEY_CLASSES_ROOT\App.jpg (ваш ProgID)
- HKEY_CLASSES_ROOT\.jpg = App.jpg (проецирование расширения на ProgID)
- HKEY_CLASSES_ROOT\.jpg = App.jpg (проецирование второго расширения на тот же ProgID)
- Вам нужно удалять все значения ProgID из реестра, когда вы удаляете своё приложение.
- Оставляйте файловые ассоциации неизменными во время удаления приложения. Это будет работать нормально, потому что система опознаёт случай, когда значение ProgID отсутствует и просто игнорирует его. Если вы будете так делать, то избежите сложного кода проверки, который удаляет проецирование расширения на ProgID только, если никакое другое приложение не изменило ассоциацию типов после установки вашего.
- Указывайте уникальное значение для описания файлового типа для каждого ProgID:
- Либо оставьте значение по-умолчанию для ProgID пустым, что приведёт к использованию системой описания ".ext файл".
- Либо предоставьте локализованное значение через FriendlyTypeName и, для совместимости со старыми приложениями, которые читают напрямую из реестра, значение по-умолчанию для ProgID (используйте то же значение, что и в FriendlyTypeName на английском).
Элементы программного идентификатора, используемые файловыми ассоциациями
Правильный формат ProgID является таким [Поставщик или приложение].[Компонент].[Версия] - три части, соединённые точками, без пробелов, например: Word.Document.6. Часть Версия является необязательной, но рекомендуемой. Для дальнейшей информации, см. Использование версионных программных идентификаторов ниже.
Подключ ProgID должен включать следующие элементы. Заметьте, что некоторые строковые данные в этом ключе требуют особого форматирования.
Примечание: если только вы не разрабатываете side-by-side приложение (т.е. приложение, которое допускает одновременную установку нескольких своих различных версий на одну машину), то вам не следует использовать запись CurVer.
В предWindows 8 эпох, приложение по умолчанию может быть установлено для типа файла, манипулируя реестром, что означает, что вы можете создать сценарий и выполнить его через командную строку для изменения приложений по умолчанию. Но трюк с реестром больше не работает, так как Windows 8, так как Windows вводит хеш для проверки изменения.
Итак, если вы все же хотите обновить приложение по умолчанию через командную строку, потому что оно гораздо более гибкое, вот вам бесплатная замена.
Колбич, ИТ-консультант из Швейцарии, реконструировал алгоритм хеширования и написал инструмент командной строки, SetUserFTA, который позволяет настраивать приложения по умолчанию для каждого пользователя или группы, не нарушая приложений по умолчанию для других пользователей на том же компьютере.
Как использовать SetUserFTA
Он довольно прост в использовании и понятен.
покажет все защищенные типы файлов. А также
установит приложение по умолчанию для данного расширения.
Например, чтобы установить браузер Edge (а не новую версию Chromium) в качестве средства просмотра PDF по умолчанию,
Для версии Edge Chromium,
Чтобы перейти на Acrobat Adobe Standard 2017,
Это может помочь тем, у кого возникают проблемы с настройкой программы просмотра PDF по умолчанию на основе XML через групповую политику.
.MHTML Проблема
.MHTML, MIME-инкапсуляция файла HTML - это формат архива веб-страницы, используемый для объединения в один файл. Если вы сохраняете веб-страницу в формате .mhtml, вы сохраняете все в одном файле, а не в нескольких отдельных файлах, используемых для визуализации страницы.
Хотя это полезно, есть небольшая проблема с повторным открытием его позже. Приложение по умолчанию, связанное с .mhtml, - это Internet Explorer, и вы знаете, как ужасно повторно отображать страницу, сохраненную в Chrome. Но изменить это не так-то просто.
Теперь, с SetUserFTA, строчкой позже, все готово.
Несколько советов, как узнать ProgID
Ключ к использованию SetUserFTA команда - найти правильный ProgID для приложения. Неправильный ProgID приведет к неправильному хешу, что приведет к сбою проверки.
Вы можете использовать встроенный файл assoc.exe.
Или запросите реестр, чтобы получить ProID приложения для определенного расширения файла.
Выше мы с вами рассмотрели способы автоматического запуска программ при входе пользователя в систему. Но как же происходит сам процесс запуска программ?
Ассоциации расширений файлов
Каждое расширение файлов должно быть ассоциировано с программой, при помощи которой соответствующий файл открывается.
Мастер Задать сопоставления Процесс ассоциации файлов определенного типа программе можно выполнить при помощи мастера ЗАДАТЬ СОПОСТАВЛЕНИЯ. Данный мастер отображается после выбора ссылки СОПОСТАВЛЕНИЕ ТИПОВ ФАЙЛОВ ИЛИ ПРОТОКОЛОВ КОНКРЕТНЫМ ПРОГРАММАМ мастера ПРОГРАММЫ ПО УМОЛЧАНИЮ.
В реестре же ассоциация расширения файла с программой хранится как команда по умолчанию контекстного меню файлов соответствующего расширения (то есть, та команда, которая выполняется после двойного нажатия левой клавишей мышки по значку файла соответствующего расширения).
Как правило, эта команда заносится в параметр (по умолчанию) ветви реестра вида HKCR\«идентификатор расширения файла»\shell\open\command.
Однако при помощи мастера ЗАДАТЬ СОПОСТАВЛЕНИЯ можно переопределить значение параметра (по умолчанию) данной ветви реестра. Для этого мастер определяет программу, ассоциированную с файлом, в значении параметра строкового типа a, расположенного в ветви реестра вида HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\«расширение файла»\OpenWithList.
Мастер Выбор программ по умолчанию Еще одним способом ассоциации расширения файла (и даже типа MIME файла) с определенной программой является мастер, вызвать который можно при помощи ссылки ЗАДАНИЕ ИСПОЛЬЗУЕМЫХ ПО УМОЛЧАНИЮ ПРОГРАММ мастера ПРОГРАММЫ ПО УМОЛЧАНИЮ.
Первый шаг мастера отображает список стандартных и нестандартных программ операционной системы, с которыми можно ассоциировать запуск определенных файлов.
После того, как вы выберите нужную программу и нажмете на кнопку ВЫБРАТЬ УМОЛЧАНИЯ ДЛЯ ЭТОЙ ПРОГРАММЫ, перед вами отобразится еще один шаг мастера, при помощи которого можно указать расширения, файлы которого будут запускаться с помощью данной программы.
Мастер ВЫБОР ПРОГРАММ ПО УМОЛЧАНИЮ позволяет изменять значения параметров строкового типа Progid, расположенных в ветвях реестра вида HKCU\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\«тип MIME»\UserChoice и HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\«расширение файла»\UserChoice.
Первая из этих ветвей реестра позволяет изменить программу, которая будет использоваться для запуска файлов, имеющих соответствующий тип MIME. Содержимое данной ветви реестра переопределяет значение параметра строкового типа Content Type, расположенного в ветви реестра вида HKCR\«расширение файла».
Вторая же ветвь реестра определяет программу для запуска на основе расширения файла. Содержимое данной ветви реестра переопределяет значение параметра (по умолчанию) ветви реестра вида HKCR\«расширение файла».
Значения Progid, используемые по умолчанию различными программами для ассоциации расширений файлов, хранятся в параметрах строкового типа, расположенных в дочерних подразделах ветви реестра вида HKLM\SOFTWARE\Clients\«категория»\«программа»\Capabilities. В данной ветви могут находиться следующие подразделы.
FileAssociations. Данный подраздел определяет значения Progid программы, ассоциируемые по умолчанию с различными расширениями файлов. Названия параметров строкового типа данного подраздела определяют расширения файла. А значения определяют сам Progid.
MimeAssociations. Данный подраздел определяет значения Progid программы, ассоциируемые по умолчанию с различными типами MIME. Названия параметров строкового типа данного подраздела определяют типы MIME. А значения определяют сам Progid.
URLAssociations. Данный подраздел определяет значения Progid программы, ассоциируемые по умолчанию с различными протоколами Интернет. Названия параметров строкового типа данного подраздела определяют протоколы Интернет. А значения определяют сам Progid.
Мастер Настройка доступа программ и умолчаний Мастер ПРОГРАММЫ ПО УМОЛЧАНИЮ содержит в себе еще одну ссылку — НАСТРОЙКА ДОСТУПА К ПРОГРАММАМ И УМОЛЧАНИЙ.
С помощью данной ссылки отображается мастер НАСТРОЙКА ДОСТУПА ПРОГРАММ И УМОЛЧАНИЙ.
Данный мастер позволяет скрыть определенную программу из меню ПУСК и удалить указания на нее из других компонентов операционной системы (например, из контекстного меню и диалога АВТОЗАГРУЗКА). Также с помощью данного мастера можно установить программу, как программу по умолчанию для запуска файлов определенного типа.
Данный мастер может изменять соответствия типов MIME (при помощи параметров ветви реестра вида HKCR\MIME\Database\Content Type\«тип MIME»), а также изменять ассоциации расширений файлов (при помощи параметров ветви реестра вида HKCR\«расширение файла»).
Команды, которые выполняются при установке программы по умолчанию или скрытии доступа к программе, хранятся в параметрах расширенного строкового типа HideIconsCommand, ReinstallCommand и ShowIconsCommand ветви реестра вида HKLM\SOFTWARE\Clients\«категория»\«программа»\InstallInfo.
Подразделы, регистрирующие расширение Все расширения файлов регистрируются в корневом разделе HKCR. Как правило, для регистрации одного расширения файла используется два подраздела корневого раздела HKCR — подраздел расширения файла и подраздел идентификатора файла.
Однако операционная система Windows Vista допускает исключения, при которых регистрируется только подраздел расширения файла. При этом все настройки из подраздела идентификатора файла заносятся в подраздел расширения файла.
Подраздел расширения файла Подраздел расширения файла называется в честь расширения файла (например, .txt для расширения .txt).
В этом подразделе описываются общие настройки расширения файла, параметры создания файлов данного расширения при помощи списка СОЗДАТЬ контекстного меню проводника и рабочего стола, а также определяется название идентификатора для данного расширения файла.
Подраздел идентификатора файла В параметре (по умолчанию) подраздела расширения файла содержится название подраздела идентификатора, ассоциированного с соответствующим файлом.
Подраздел идентификатора содержит в себе основную информацию о расширении файла: значок, который будет использоваться для отображения файлов данного расширения, содержимое их контекстного меню, параметры отображения значка расширения файла и т.д.
Дочерние подразделы раздела идентификатора, предназначенные для формирования контекстного меню и назначения значка расширения файла, мы с вами рассмотрели ранее в этой книге.
Пример структуры основных подразделов и параметров, которые необходимы для регистрации расширения файла, можно увидеть на листинге 7.01.
Настройки отображения файлов определенного типа
При помощи элементов списка вкладки ВИД диалога СВОЙСТВА ПАПКИ можно изменить некоторые настройки отображения файлов в проводнике операционной системы.
Для этого применяются параметры REG_DWORD типа ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced.
Hidden При установки положения НЕ ПОКАЗЫВАТЬ СКРЫТЫЕ ФАЙЛЫ И ПАПКИ переключателя, данному параметру присваивается значение 2. Если же установить положение ПОКАЗЫВАТЬ СКРЫТЫЕ ФАЙЛЫ И ПАПКИ, тогда параметру будет присвоено значение 1. По умолчанию значение данного параметра равно 2.
ShowSuperHidden Значение данного параметра изменяется флажком СКРЫВАТЬ ЗАЩИЩЕННЫЕ СИСТЕМНЫЕ ФАЙЛЫ (РЕКОМЕНДУЕТСЯ). По умолчанию значение данного параметра равно 0.
Суперскрытыми называются файлы, для которых одновременно установлены атрибуты СИСТЕМНЫЙ и СКРЫТЫЙ.
Также с помощью данного диалога можно изменить значение параметра REG_DWORD типа NoFileFolderConnection, расположенного в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer. Для этого используется переключатель УПРАВЛЕНИЕ ПАРАМИ ВЕБ-СТРАНИЦ И ПАПОК.
При установке данного переключателя в положение ПОКАЗЫВАТЬ И ОБРАБАТЫВАТЬ ПАРУ КАК ЕДИНЫЙ ФАЙЛ параметру присваивается значение 0. Если же переключатель установить в положение ПОКАЗЫВАТЬ ОБЕ ЧАСТИ, НО ОБРАБАТЫВАТЬ ИХ КАК ЕДИНЫЙ ФАЙЛ, тогда параметру будет присвоено значение 2. А если установить переключатель в положение ПОКАЗЫВАТЬ ОБЕ ЧАСТИ И ОБРАБАТЫВАТЬ ИХ ОТДЕЛЬНО, тогда параметру будет присвоено значение 1. По умолчанию значение данного параметра равно 0.
Диалог Выполнить
Диалог ВЫПОЛНИТЬ, отображаемый при нажатии комбинации клавиш WINDOWS+R, предназначен для быстрого запуска программ. Как правило, достаточно лишь ввести название исполняемого файла программы, чтобы он был запущен. Однако такая простота обманчива.
Настройки диалога Выполнить можно изменить при помощи параметров REG_DWORD типа, расположенных в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer.
MemCheckBoxInRunDlg. Если значение данного параметра равно 1, тогда в диалоге Выполнить отобразится флажок Запускать в отдельной области памяти, с помощью которого можно запустить 16-разрядное приложение в отдельной области памяти (а не в общей области памяти, выделенной для виртуальной машины ntvdm.exe).
NoRun. Если значение данного параметра равно 1, тогда отображение диалога Выполнить будет запрещено. Кроме того, из строки браузера Internet Explorer будет запрещено обращаться к локальным дисками или путям UNC.
Переменные среды окружения, описанные в файле autoexec.bat, обрабатываться не будут, если параметру REG_DWORD типа ParseAutoExec, расположенному в ветви HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, присвоить значение 0.
Список всех программ, которые не находятся в стандартных каталогах, но которые можно вызвать при помощи диалога ВЫПОЛНИТЬ, хранится в виде подразделов ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths.
Каждый подраздел данной ветви реестра определяет одну программу, которую можно запустить при помощи диалога ВЫПОЛНИТЬ. При этом название подраздела определяет строку, которую нужно ввести в диалоге ВЫПОЛНИТЬ (название подраздела обязательно должно заканчиваться расширением .exe), чтобы была выполнена программа, указанная в параметре (по умолчанию) соответствующего подраздела ветви реестра.
В качестве примера посмотрите на листинг 7.02. Он содержит в себе описание команды, которую по умолчанию нужно ввести для того, чтобы была запущена программа Windows Media Player.
Обратите внимание на параметр строкового типа Path, который можно заметить в листинге 7.02. Он необязателен и содержит в себе путь к рабочему каталогу, который будет использоваться запускаемой программой.
Кроме параметра Path в подразделе программы могут присутствовать и другие параметры.
Механизм автозаполнения В процессе ввода команды в диалог ВЫПОЛНИТЬ, операционная система может отображать перед вами набор команд, которые вы вводили ранее и которые подходят под вводимый вами в данный момент шаблон.
Список всех вводимых вами ранее в диалог ВЫПОЛНИТЬ команд хранится в реестре. Для этого предназначена ветвь реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU. Каждая вводимая вами ранее команда заносится в значение отдельного параметра строкового типа данной ветви реестра.
Также в диалоге ВЫПОЛНИТЬ могут отображаться команды, которые вы вводили ранее в браузере Internet Explorer. Эти команды содержатся в параметрах строкового типа, расположенных в ветви реестра HKCU\Software\Microsoft\Internet Explorer\TypedURLs.
Настройки запуска программ
Процесс запуска и завершения программ можно настроить при помощи некоторых параметров реестра.
Выгрузка библиотек при завершении работы программы Операционная система Windows Vista поддерживает механизм, при котором библиотеки программы, работа которой была завершена, могут оставаться некоторое время в оперативной памяти — на случай, если пользователь повторно запустит данную программу. В этом случае скорость запуска программы повысится.
Работу данного механизма можно включить или отключить при помощи параметра REG_DWORD типа AlwaysUnloadDLL, расположенного в ветви реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer. Если значение данного параметра равно 1, тогда все библиотеки программы будут выгружаться сразу же после завершения ее работы.
Максимизация программ при запуске Если значение параметра REG_DWORD типа MaximizeApps, расположенного в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer, равно 1, тогда окна всех запускаемых вами программ будут раскрываться на весь экран, независимо от настроек их размеров.
Данный параметр используется при запуске операционной системы в режиме БЕЗОПАСНЫЙ РЕЖИМ С ИСПОЛЬЗОВАНИЕМ КОМАНДНОЙ СТРОКИ.
Читайте также: