registeredapplications в реестре что это
Application Registration
This topic discusses how applications can expose information about themselves necessary to enable certain scenarios. This includes information needed to locate the application, the verbs that the application supports and the types of files that an application can handle.
This topic is organized as follows:
Applications can also be registered in the Set Program Access and Computer Defaults (SPAD) and Set Your Default Programs (SYDP) control panel applications. For information about SPAD and SYDP application registration, see Guidelines for File Associations and Default Programs, and Set Program Access and Computer Defaults (SPAD).
Finding an Application Executable
When the ShellExecuteEx function is called with the name of an executable file in its lpFile parameter, there are several places where the function looks for the file. We recommend registering your application in the App Paths registry subkey. Doing so avoids the need for applications to modify the system PATH environment variable.
The file is sought in the following locations:
Registering Applications
Both the App Paths and Applications registry subkeys are used to register and control the behavior of the system on behalf of applications. The App Paths subkey is the preferred location.
Using the App Paths Subkey
In Windows 7 and later, we strongly recommend you install applications per user rather than per machine. An application that is installed for per user can be registered under HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths. An application that is installed for all users of the computer can be registered under HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths.
The entries found under App Paths are used primarily for the following purposes:
If the name of a subkey of App Paths matches the file name, the Shell performs two actions:
Potential issues to be aware of include:
Using the DropTarget entry avoids these potential issues by providing access to all of the clipboard formats, including CFSTR_SHELLIDLIST (for long file lists) and CFSTR_FILECONTENTS (for non-file-system objects).
To register and control the behavior of your applications with the App Paths subkey:
Add a subkey with the same name as your executable file to the App Paths subkey, as shown in the following registry entry.
See the following table for details of the App Paths subkey entries.
[!Note]
In addition to the (Default), Path, and DropTarget entries recognized by the Shell, an application can also add custom values to its executable file’s App Paths subkey. We encourage application developers to use the App Paths subkey to provide an application-specific path instead of making additions to the global system path.
When the ShellExecuteEx function starts an application and the UseUrl=1 value is not set, ShellExecuteEx downloads the document to a local file and invokes the handler on the local copy.
For example, if the application has this entry set and a user right-clicks on a file stored on a web server, the Open verb will be made available. If not, the user will have to download the file and open the local copy.
The UseUrl entry is of REG_DWORD type, and the value is 0x1.
In Windows Vista and earlier, this entry indicated that the URL should be passed to the application along with a local file name, when called via ShellExecuteEx. In Windows 7, it indicates that the application can understand any http or https url that is passed to it, without having to supply the cache file name as well. This registry key is associated with the SupportedProtocols key.
Using the Applications Subkey
Through the inclusion of registry entries under the HKEY_CLASSES_ROOT\Applications\ApplicationName.exe subkey, applications can provide the application-specific information shown in the following table.
Examples
Some examples of application registrations through the HKEY_CLASSES_ROOT\Applications\ApplicationName.exe subkey are as follows. All registry entry values are of REG_SZ type, with the exception of DefaultIcon which is of REG_EXPAND_SZ type.
Registering Verbs and Other File Association Information
Subkeys registered under HKEY_CLASSES_ROOT\SystemFileAssociations enable the Shell to define the default behavior of attributes for file types and enable shared file associations. When users change the default application for a file type, the ProgID of the new default application has priority in providing verbs and other association information. This priority is due to it being the first entry in the association array. If the default program is changed, the information under the previous ProgID is no longer available.
To deal proactively with the consequences of a change to default programs, you can use HKEY_CLASSES_ROOT\SystemFileAssociations to register verbs and other association information. Due to their location after the ProgID in the association array, these registrations are lower priority. These SystemFileAssociationsregistrations are stable even when users change the default programs, and provide a location to register secondary verbs that will always be available for a particular file type. For a registry example, see Registering a Perceived Type later in this topic.
Registering a Perceived Type
Registry values for perceived types are defined as subkeys of the HKEY_CLASSES_ROOT\SystemFileAssociations registry subkey. For example, the perceived type text is registered as follows:
Регистрация приложения
В этом разделе описывается, как приложения могут предоставлять сведения о себе, необходимые для реализации определенных сценариев. Сюда входят сведения, необходимые для размещения приложения, команды, поддерживаемые приложением, а также типы файлов, которые может выполнять приложение.
Этот раздел организован следующим образом:
Приложения также можно зарегистрировать в окне Настройка доступа к программам и параметров по умолчанию (SPAD) и задать приложения панели управления программы по умолчанию (SYDP). Сведения о регистрации приложений в SPAD и SYDP см. в разделе рекомендации по сопоставлению файлов и программам по умолчанию, настройке доступа к программам и по умолчанию для компьютеров (SPAD).
Поиск исполняемого файла приложения
Файл ищется в следующих расположениях:
Регистрация приложений
Подразделы реестра » пути приложений » и » приложения » используются для регистрации и управления поведением системы от имени приложений. Подраздел app paths является предпочтительным расположением.
Использование подраздела путей к приложению
в Windows 7 и более поздних версиях настоятельно рекомендуется устанавливать приложения для каждого пользователя, а не для каждого компьютера. приложение, установленное для каждого пользователя, может быть зарегистрировано в разделе HKEY _ текущее _ пользовательское \ программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ пути к приложению. приложение, установленное для всех пользователей компьютера, может быть зарегистрировано в разделе «программное обеспечение _ локального _ компьютера» \ по \ \ \ \ пути к приложению Microsoft Windows CurrentVersion.
Если имя подраздела путей к приложению совпадает с именем файла, оболочка выполняет два действия:
Возможны следующие проблемы, которые следует учитывать:
Использование записи Дроптаржет позволяет избежать этих потенциальных проблем, предоставляя доступ ко всем форматам буфера обмена, включая кфстр _ шеллидлист (для длинных списков файлов) и кфстр _ филеконтентс (для объектов, не являющихся объектами файловой системы).
Для регистрации и управления поведением приложений с помощью подраздела путей приложений:
Сведения о записях подраздела пути приложения см. в следующей таблице.
Использование подраздела приложений
Примеры
Регистрация команд и других сведений о сопоставлении файлов
Чтобы заранее решить последствия изменения программ по умолчанию, можно использовать _ классы hKey _ root \ системфилеассоЦиатионс для регистрации команд и других сведений о сопоставлении. Из-за их расположения после идентификатора ProgID в массиве ассоциаций эти регистрации имеют более низкий приоритет. Эти СистемфилеассоЦиатионсрегистратионс стабильны, даже если пользователи меняют программы по умолчанию и предоставляют расположение для регистрации вторичных команд, которые всегда будут доступны для конкретного типа файлов. Пример реестра см. в подразделе Регистрация наблюдаемого типа далее в этой статье.
Регистрация воспринимаемого типа
Блог GunSmoker-а (переводы) 
. when altering one’s mind becomes as easy as programming a computer, what does it mean to be human.
четверг, 23 сентября 2010 г.
1.1: Регистрация приложений
Поиск исполняемого файла приложения
Когда функция ShellExecuteEx вызывается с именем исполняемого файла в своём параметре lpFile, то она будет искать этот файл в нескольких местах. Мы рекомендуем вам зарегистрировать своё приложение в ключе реестра App Paths, чтобы вам не пришлось модифицировать переменную окружения PATH.
Регистрация приложения
Оба ключа реестра App Paths и Applications используются для регистрации и контроля поведения системы от имени приложений. Ключ App Paths является предпочтительным местом регистрации на компьютерах с Windows XP Service Pack 1 (SP1) и выше.
Использование подключа реестра App Paths
Приложение, которое устанавливается для всех пользователей компьютера, может быть зарегистрировано под ключом реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths. В Windows 7 и выше, приложение также может быть установлено только для одного пользователя регистрацией в ключе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths.
Использование подключа реестра Applications
С помощью включения записей реестра под ключом HKEY_CLASSES_ROOT\Applications\ApplicationName.exe приложения могут предоставлять такую специфичную для приложения информацию:
Запись реестра | Описание |
---|---|
shell\verb | Предоставляет действие (verb) для вызова приложения через OpenWith. Без определения действия, система предполагает, что приложение поддерживает CreateProcess и передаёт имя файла в командной строке. Эта функциональность применима ко всем методам, включая DropTarget, ExecuteCommand и Dynamic Data Exchange (DDE). |
DefaultIcon | Позволяет приложению указать иконку, представляющую приложение, вместо первой иконки в исполняемом файле приложения. |
FriendlyAppName | Позволяет приложению задать локализуемое имя приложения для показа пользователю, вместо использования информации о версии, которая может быть не локализована. Запрос ассоциации ASSOCSTR использует это значение реестра и откатывается к использованию имени FileDescription из версионной информации. Если и это имя отсутствует, то будет использоваться отображаемое имя файла. Приложениям следует использовать ASSOCSTR_FRIENDLYAPPNAME, чтобы получать эту информацию и корректное поведение. |
SupportedTypes | Перечисляет имена типов, которые поддерживаются приложением. Это позволяет приложению быть указанным в каскадном меню диалогового окна Открыть с помощью. |
NoOpenWith | Указывает, что для открытия этого типа приложение не задано. Информация об использовании приложений записывается, а затем используется (если эта запись задана) для заполнения списка Рекомендуемые программы, который показывается в каскадном меню Открыть с помощью, что очень заметно. Если для приложения заданы записи OpenWithList или OpenWithProgIDs, то ваше приложение всё равно появится в этом списке, даже если оно укажет запись NoOpenWith.ПримерыВот некоторые примеры регистрации приложений через ключ реестра HKEY_CLASSES_ROOTApplicationsApplicationName.exe. Все записи имеют тип REG_SZ, за исключением DefaultIcon, который имеет тип REG_EXPAND_SZ. Регистрация действий (Verbs) и другой информации о файловых ассоциацияхПодключи, зарегистрированные под HKEY_CLASSES_ROOT\SystemFileAssociations, позволяют Оболочке определять поведение по-умолчанию для атрибутов файла и использовать разделяемые файловые ассоциации (shared file associations). Когда пользователь изменяет программу по-умолчанию для типа файла, ProgID нового приложения по-умолчанию имеет приоритет для поставки действий (verb) и другой информации. Этот приоритет определяется по его первому положению в списке ассоциаций (association array). Если программа по-умолчанию изменяется, то информация под предыдущим ProgID более не доступна. Чтобы быть готовым к последствиям смены программы по-умолчанию, вы можете использовать HKEY_CLASSES_ROOT\SystemFileAssociations, чтобы зарегистрировать действия (verb) и другую информацию. Из-за размещения этих регистраций после ProgID в списке ассоциаций, регистрации в этом ключе реестра имеют меньший приоритет. Эти регистрации SystemFileAssociations неизменны, даже когда пользователи меняют свои программы по-умолчанию, и поэтому они предоставляют место для регистрации вторичных действий, которые всегда будут доступны для выбранного типа файла. Для примера см. Регистрация воспринимаемого (perceived) типа ниже. Как изменить обработчик протокола URL ( tel, mailto, callto ) в Windows 10В этой статье будет описано, как в Windows 10 настроить приложение для открытия ссылок URL (tel, mailto, callto и т.д.) в браузере. Например, сделать так, чтобы при нажатии на телефонный номер на сайте открывался софтфон phonerlite. Также будет показан общий принцип добавления и изменения приложения по умолчанию через реестр в Windows 10. Содержание Введение Задача следующая: Существует отдел продаж, который использует в своей работе ip-телефонию. В качестве телефонов используют софтфоны (Softphone) phonerlite и microsip. Также нужно, чтобы у менеджера при нажатии на телефонный номер на сайте клиента открывалось окно с выбором софтфона, а после выбора выполнялся вызов на этот номер.
При изучении вопроса оказалось, что не все приложения (не только софтфоны) корректно заносят данные в реестр. В этой статье приведем пример, как добавить софтфон PhonerPhone в список приложений для выбора протокола tel для браузера Chrome. Описание тестового стенда План работ. Краткое описание действий Установка и настройка софтфона PhonerLiteПодробно описывать установку softphone PhonerLite в данной статье не будем, там все очень тривиально. Если с этим возникнут проблемы, можете обратиться к нашей статье Обзор и основные возможности софтфона PhonerLite. Отметим один важный момент. В настройках софтфона PhonerLite есть выбор «Обработчика протокола URL«, можно выбрать: tel:, sip:, callto:, hungup:. При выборе вносятся изменения в реестр. Как выяснилось, изменения не совсем корректные. Работать будет, но только с одним софтфоном. Этим способом не получится добавить в меню «Как вы хотите это открыть?» несколько приложений, например: phonerlite, microsip и blink. Регистрация в реестре программы для обработчика протокола URLДобавление ProgIDВ нашем примере мы добавили: Добавление Capabilities (возможностей приложения)Регистрация возможностей приложения [HKEY_CURRENT_USER\Software\RegisteredApplications]В заключении нужно добавить наше приложение PhonerLite в список программ по умолчанию. Полный текст reg файла для добавления приложения PhonerLite в список приложений по умолчанию.Для удобства предлагаем создать файл phonerUrlTel.reg и записать туда данный текст. После этого запустить данный файл (понадобятся права администратора) и данные будут записаны в реестр. Проверка того, что приложение PhonerLite появилось в списке приложения по умолчанию для протокола telДля проверки откроем браузер Chrome и в адресной строке введем tel:+788888888888 (номер для примера).
Нажимаем «Выбор приложения» и в открывшемся окне, после наших настроек, появилось приложение PhonerLite.
Выбираем его и видим, что открылся софтфон и в нем выполняется исходящий вызов по номеру +788888888888
Задачу выполнили. Теперь по нажатию на телефонный номер в браузере (где протокол tel:) выполняется вызов через приложение PhonerLite. Registering application in windows registryWindows has a vague and unambiguous way of declaring standards for registering applications in the windows registry. Following the official documentation for application registration Microsoft recommends registering apps under This recommendation however doesn’t seem to be followed by developers since this key has not even been created on my system yet while other applications being registered into Each of the keys above has a different structure and thus different options (i.e. the key SupportedTypes being available in one but not the other). What is the difference between registering apps under these different keys and in what scenarios would you chose one over another? 1 Answer 1Yes there are multiple places in the registry where you can put application information and which key to use depends on what/why you are registering. The Software\Microsoft\Windows\CurrentVersion\App Paths key is mainly used as a %Path% environment variable extension for the shell so it can find the full path to your executable if the user types just the filename in the Run dialog. It can also contain some information about how your application handles «drag & drop» and URL protocols. There is also some application info under HKCR\AppID but this is not applicable unless you have a COM server. As far as you specific question goes, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe and HKEY_CURRENT_USER\Software\Classes\Applications\MyApp.exe are documented registrations keys I already covered. The SupportedTypes key is documented here. HKEY_CURRENT_USER\Software\Classes\MyApp looks like a ProgId and those are generally used to register file types and URL protocol handlers.
|