Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 10 (http://forum.oszone.net/forumdisplay.php?f=118)
-   -   [решено] Добавление собственной программы в список Программы по Умолчанию (http://forum.oszone.net/showthread.php?t=305689)

Nizaury 21-09-2015 01:31 2555697

Добавление собственной программы в список Программы по Умолчанию
 
Для добавления программы в список "Программы по умолчанию" в Windows 10, в ресурсах программы должен быть указан "CompanyName".
Чтобы добавить собственную программу в список "Программы по умолчанию", создайте и примените reg-файл, используя шаблон ниже:
Шаблон
Код:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\xnviewmp.exe\shell\open\command\]
@="\"D:\\Programs\\MyProgram\\myprogram.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications\]
"XnViewMP"="Software\\MyProgram\\Capabilities"

[HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram\Capabilities\]
"ApplicationDescription"="MyProgram is a fast multi-format program for everything."
"ApplicationName"="MyProgram"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProgram.ext\DefaultIcon\]
@="D:\\Programs\\MyProgram\\FileIcons\\Icon.ico"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProgram.ext\shell\open\command\]
@="\"D:\\Programs\\MyProgram\\myprogram.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram\Capabilities\FileAssociations\]
".ext"="MyProgram.ext"


Пояснения к reg-файлу:

1) Вместо myprogram.exe укажите имя exe-файла, запускающего программу.
2) Вместо D:\\Programs\\MyProgram\\ укажите путь к exe-файлу программы.
3) Вместо D:\\Programs\\MyProgram\\FileIcons\\Icon.ico укажите путь к иконке, для файлов сопоставляемых с данной программой.
4) В остальных местах вместо MyProgram укажите имя программы.
5) В значении параметра ApplicationDescription введите описание программы.
6) В значении параметра ApplicationName введите имя программы.
7) Вместо .ext введите расширение файла, которое должно быть сопоставлено с программой.
8) Для добавления поддерживаемых расширений:

8.1) скопируйте указанные ниже строки для каждого нового расширения.
Сделав изменения в соответствии с описанными выше пунктами.

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProgram.ext\DefaultIcon\]
@="D:\\Programs\\MyProgram\\FileIcons\\Icon.ico"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MyProgram.ext\shell\open\command\]
@="\"D:\\Programs\\MyProgram\\myprogram.exe\" \"%1\""

8.2) Добавьте новое расширение ".ext"="MyProgram.ext" в ветку
[HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram\Capabilities\FileAssociations\]
Сделав изменения в соответствии с описанными выше пунктами.

Пример:
Код:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\xnviewmp.exe\shell\open\command\]
@="\"D:\\Programs\\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."
"ApplicationName"="XnViewMP for Windows"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.bmp\DefaultIcon\]
@="D:\\Programs\\XnViewMP\\FileIcons\\bmp.ico"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.bmp\shell\open\command\]
@="\"D:\\Programs\\XnViewMP\\xnviewmp.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.jpg\DefaultIcon\]
@="D:\\Programs\\XnViewMP\\FileIcons\\jpg.ico"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.jpg\shell\open\command\]
@="\"D:\\Programs\\XnViewMP\\xnviewmp.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.png\DefaultIcon\]
@="D:\\Programs\\XnViewMP\\FileIcons\\png.ico"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XnViewMP.png\shell\open\command\]
@="\"D:\\Programs\\XnViewMP\\xnviewmp.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\XnViewMP\Capabilities\FileAssociations\]
".bmp"="XnViewMP.bmp"
".jpg"="XnViewMP.jpg"
".png"="XnViewMP.png"



____________________________________________________________________________________________________ ________________________________________________________
Изначальное сообщение
Подскажите, пожалуйста, как добавить собственную программу в список Программы по умолчанию (Default Programs) в Windows 10?

К примеру, хочу добавить в данный список установленную программу AkelPad.

Создал и применил reg-файл указанного ниже содержания, в Windows 7 все прекрасно добавляется и работает, но а в Windows 10 программа не появляется в списке.
Может кто знает, что надо добавить или изменить в данном reg-файле?

Код:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\AkelPad\Capabilities]
"ApplicationDescription"="AkelPad - Text Editor"
"ApplicationIcon"="C:\\Program Files\\AkelPad\\AkelPad.exe,0"
"ApplicationName"="AkelPad"

[HKEY_LOCAL_MACHINE\SOFTWARE\AkelPad\Capabilities\FileAssociations]
".txt"="AkelPadText.txt"
".ini"="AkelPadText.ini"
".reg"="AkelPadText.reg"
".bat"="AkelPadText.bat"
".cmd"="AkelPadText.cmd"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\AkelPad\Capabilities\FileAssociations]
".txt"="AkelPadText.txt"
".ini"="AkelPadText.ini"
".reg"="AkelPadText.reg"
".bat"="AkelPadText.bat"
".cmd"="AkelPadText.cmd"

[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"AkelPad"="Software\\AkelPad\\Capabilities"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\AkelPad.exe\shell\open\command]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AkelPad.exe]
@="C:\\Program Files\\AkelPad\\AkelPad.exe"
"Path"="C:\\Program Files\\AkelPad"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts]
"Applications\\AkelPad.exe_.txt"=dword:00000000
"Applications\\AkelPad.exe_.ini"=dword:00000000
"Applications\\AkelPad.exe_.reg"=dword:00000000
"Applications\\AkelPad.exe_.bat"=dword:00000000
"Applications\\AkelPad.exe_.cmd"=dword:00000000
"AkelPadText.txt_.txt"=dword:00000000
"AkelPadText.ini_.ini"=dword:00000000
"AkelPadText.reg_.reg"=dword:00000000
"AkelPadText.bat_.bat"=dword:00000000
"AkelPadText.cmd_.cmd"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.txt]
@="AkelPad Document"
"FriendlyTypeName"="AkelPad Document"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.txt\DefaultIcon]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe,0\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.txt\shell\open\command]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.reg\shell\edit\command]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.ini]
@="AkelPad Document"
"FriendlyTypeName"="AkelPad Document"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.ini\DefaultIcon]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe,0\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.ini\shell\edit\command]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.reg]
@="AkelPad Document"
"FriendlyTypeName"="AkelPad Document"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.reg\DefaultIcon]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe,0\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.reg\shell\edit\command]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.bat]
@="AkelPad Document"
"FriendlyTypeName"="AkelPad Document"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.bat\DefaultIcon]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe,0\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.bat\shell\edit\command]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.cmd]
@="AkelPad Document"
"FriendlyTypeName"="AkelPad Document"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.cmd\DefaultIcon]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe,0\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AkelPadText.cmd\shell\edit\command]
@="\"C:\\Program Files\\AkelPad\\AkelPad.exe\" \"%1\""


ArmDeForcer 22-09-2015 01:18 2556088

А зачем такая простыня? Откройте параметры и настройте ассоциации файлов с этими разрешениями.

Vadikan 22-09-2015 06:44 2556119

+ https://www.outsidethebox.ms/14267/

Nizaury 23-09-2015 12:51 2556639

Цитата:

Цитата ArmDeForcer
А зачем такая простыня? Откройте параметры и настройте ассоциации файлов с этими разрешениями. »

Весь смысл вопроса именно в том, не как ассоциировать расширения, а как добавить в список Default Programs.

Vadikan 23-09-2015 16:38 2556747

Nizaury
https://msdn.microsoft.com/en-us/lib...or=-2147217396

Nizaury 23-09-2015 18:15 2556781

Цитата:

Цитата Vadikan
https://msdn.microsoft.com/en-us/lib...or=-2147217396 »

Спасибо за информацию четко по теме.

Самое интересное, созданный мною reg-файл добавляет программу AkelPad в список Программы по Умолчанию в Windows XP и в Windows 7.
В Windows 10 почему-то указанный reg-файл не срабатывает, и программа не видна в стандартном окне Программы по Умолчанию, но видна в списке программы "Programs Default Editor".

Vadikan 23-09-2015 19:13 2556809

Nizaury, там есть спец примечание по 10. Читали?

Это не решение вашей задачи, ибо техническое описание новой системы отсутствует.

Nizaury 23-09-2015 20:31 2556832

Vadikan,
Так увлекся сравнением ключей и параметров, что не заметил вначале статьи сообщение о смене механизма в Windows 10. :(

У Вас случайно нету ссылки на подробное описание механизма добавления программы в Windows 10 (а не те общие слова указанные в статье по ссылке).

Vadikan 24-09-2015 11:38 2557043

Nizaury,
Цитата:

Цитата Vadikan
техническое описание новой системы отсутствует. »


Nizaury 24-09-2015 19:02 2557245

Vadikan,

Думал Вы подразумевали отсутствие описания на указанной странице, а Вы также имели ввиду отсутствие у себя ссылки на материал. Понятно.

В Windows 7 было достаточно добавить необходимые параметры в ветки реестра и программа появлялась в списке Программы по умолчанию.
Если существуют программы (Например: Aimp, PotPlayer, XnView, Firefox), которые добавляют себя в Windows 10 в данный список, то значит есть какой-то механизм.
Его надо либо выявить путем экспериментов, либо прочитать мануал.

Nizaury 26-09-2015 01:57 2557798

Ради эксперимента установил программу 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 пропала из списка "Программы по умолчанию".

Интересно в чем может быть причина?
Может поддержка добавления в список "Программы по умолчанию" должна быть заложена на программном уровне?

Nizaury 28-09-2015 16:24 2558583

Проблема решена.
В Windows 10 для добавления программы в список "Программы по умолчанию", в ресурсах программы должен быть указан "CompanyName".

Vadikan 28-09-2015 16:27 2558584

Nizaury, и при этом достаточно твика из первого поста? В общем, оформите шапку, плиз.

Nizaury 28-09-2015 19:03 2558628

Vadikan,

Твик в первом сообщении слишком громоздкий.

Достаточно следующего шаблона:

Код:

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"

Шапку изменил. Заменив в ней предыдуший твик на указанный шаблон.

Wu-Tang 03-11-2020 20:39 2938707

прошу прощения за подъем темы, я где-то видел тулзу, которая одним кликом все делала корректно и под 10-ку тоже, но не могу вспомнить где, то ли от nirsoft то ли...


Время: 09:05.

Время: 09:05.
© OSzone.net 2001-