Среди которых, в случае наличия идентичных параметров с разными значениями ветка HKEY_CURRENT_USER\SOFTWARE\CLASSES имеет преимущество над веткой HKEY_LOCAL_MACHINE\Software\Classes.
Но дело не в этом.
Самое интересное, созданный мною reg-файл добавляет программу AkelPad в список Программы по Умолчанию в Windows XP и в Windows 7. В Windows 10 почему-то данный reg-файл не срабатывает, и программа не видна в стандартном окне Программы по Умолчанию, но видна в списке программы "Programs Default Editor".
Nizaury
Почему бы не добавить AkelPad через GUI, отследив изменения в реестре с помощью RegShot? Если правильно понял, в Win10 механизм файловых ассоциаций/программ по умолчанию работает несколько иначе, чем в предыдущих ОС.
Задать ассоциации для расширений через реестр не проблема. Сравнил два снимка с помощью SysTracer Pro или Revo Uninstaller Pro.
Как узнать механизм добавления какой-либо программы в список Программы по Умолчанию для Windows 10?
Другие программы ведь добавляют себя (Например: Aimp, XnView, Firefox) в него.
Сравнивал снимки с помощью SysTracer Pro в принципе все те же ветки в реестре добавляются.
Ради эксперимента установил программу XnView и с помощью SysTracer Pro вычислил минимальный набор (всего лишь 20) строк, необходимый для регистрации портативного варианта программы в списке "Программы по умолчанию" в Windows 10.
Указанный ниже пример, добавляет портативный вариант программы XnViewMP в список "Программы по умолчанию" в чистую Windows 10, установленную на виртуальной системе.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\xnviewmp.exe\shell\open\command\]
@="\"C:\\Users\\Nizaury\\Desktop\\XnViewMP\\xnviewmp.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.bmp\DefaultIcon\]
@="C:\\Users\\Nizaury\\Desktop\\XnViewMP\\FileIcons\\bmp.ico"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.bmp\shell\open\command\]
@="\"C:\\Users\\Nizaury\\Desktop\\XnViewMP\\xnviewmp.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications\]
"XnViewMP"="Software\\XnViewMP\\Capabilities"
[HKEY_LOCAL_MACHINE\SOFTWARE\XnViewMP\Capabilities\]
"ApplicationDescription"="XnViewMP is a fast multi-format graphics browser, viewer, and converter. It reads more than 400 file formats."
"ApplicationName"="XnViewMP for Windows"
[HKEY_LOCAL_MACHINE\SOFTWARE\XnViewMP\Capabilities\FileAssociations\]
".bmp"="XnViewMP.bmp"
Сделал по данному шаблону для AkelPad - не срабатывает.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\AkelPad.exe\shell\open\command\]
@="\"C:\\Users\\Nizaury\\Desktop\\AkelPad\\AkelPad.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPad.txt\DefaultIcon\]
@="C:\\Users\\Nizaury\\Desktop\\AkelPad\\AkelPad.exe,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPad.txt\shell\open\command\]
@="\"C:\\Users\\Nizaury\\Desktop\\AkelPad\\AkelPad.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications\]
"AkelPad"="Software\\AkelPad\\Capabilities"
[HKEY_LOCAL_MACHINE\SOFTWARE\AkelPad\Capabilities\]
"ApplicationDescription"="AkelPad is a fast multi-format text editor."
"ApplicationName"="AkelPad"
[HKEY_LOCAL_MACHINE\SOFTWARE\AkelPad\Capabilities\FileAssociations\]
".txt"="AkelPad.txt"
Попробовал заменить файл xnviewmp.exe на переименованный в данное имя AkelPad.exe - программа XnViewMP пропала из списка "Программы по умолчанию".
Интересно в чем может быть причина?
Может поддержка добавления в список "Программы по умолчанию" должна быть заложена на программном уровне?
Last edited by Nizaury on Sat Sep 26, 2015 4:17 pm, edited 2 times in total.
Спасибо.
Рад, что мы оказались взаимополезны друг другу.
Теперь можно использовать шаблон для добавления AkelPad и связанных с ней разрешений в список "Программы по умолчанию".
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\AkelPad.exe\shell\open\command\]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPad.txt\DefaultIcon\]
@="C:\\Program Files\\AkelPad\\AkelPad.exe,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPad.txt\shell\open\command\]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications\]
"AkelPad"="Software\\AkelPad\\Capabilities"
[HKEY_LOCAL_MACHINE\SOFTWARE\AkelPad\Capabilities\]
"ApplicationDescription"="AkelPad is a fast multi-format text editor."
"ApplicationName"="AkelPad"
[HKEY_LOCAL_MACHINE\SOFTWARE\AkelPad\Capabilities\FileAssociations\]
".txt"="AkelPad.txt"
Раз уж так все успешно решилось, то может стоит чтобы AkelPad добавлялся в список "Программы по умолчанию" при установке программы?