Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 8 и 8.1 » Блог - Как правильно ассоциировать типы файлов с программами в Windows 8

Ответить
Настройки темы
Блог - Как правильно ассоциировать типы файлов с программами в Windows 8

(*.*)


Сообщения: 36498
Благодарности: 6676


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Как вы ассоциируете типы файлов с программами? Предположу, что чаще всего вы делаете это при установке программы или впоследствии из ее настроек. Если так, то в Windows 8 вас ждет сюрприз, и я бы не назвал его приятным…

Читать дальше в блоге...

Это сообщение создано автоматически.

Учитывая немалый объем статьи, я занес в FAQ по Windows 8 краткие инструкции по ассоциации типов файлов и протоколов с программами.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:30, 01-10-2012

 

(*.*)


Сообщения: 36498
Благодарности: 6676

Профиль | Сайт | Отправить PM | Цитировать


Stealthmax, к безопасности это не имеет никакого отношения. Это сделано, чтобы предотвратить автоматическую смену ассоциациий файлов без ведома пользователя. Поэтому в установщике вы должны реализовать открытие элемента панели управления или вывод меню для смены программы по умолчанию. Вы разработчик? Следуйте гайдлайнам Microsoft... и не разводите флейм, не относящийся к теме. Это запрещено правилами конференции.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 09:53, 22-02-2014 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 30
Благодарности: 7

Профиль | Отправить PM | Цитировать



Дорогие товарищи!
Способ ассоциировать любую портабельную программу с типом файлов в Windows 8/8.1 существует и успешно работает независимо от того, ассоциирован этот тип файла уже с какой-то программой, или нет. Причем после этого программу можно будет видеть в окне панели управления "Задание программ по умолчанию".
Вот, на примере плеера mpv (http://mpv.io/), покажу, как ассоциировать один тип файла:

Код: Выделить весь код
REGEDIT4
 
[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"mpv"="SOFTWARE\\mpv\\Capabilities"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\mpv]
"exe32"="C:\\mpv\\mpv.exe"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\mpv\Capabilities]
"ApplicationDescription"="mpv - free open source player"
"ApplicationName"="mpv - Movie Player"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\mpv\Capabilities\FileAssociations]
".avi"="mpv.avi"
 
[HKEY_CLASSES_ROOT\mpv.avi]
@="mpv avi video"
 
[HKEY_CLASSES_ROOT\mpv.avi\DefaultIcon]
@="C:\\mpv\\mpv.exe,0"
 
[HKEY_CLASSES_ROOT\mpv.avi\shell\open\command]
@="\"C:\\mpv\\mpv.exe\" \"%1\""
 
[HKEY_CLASSES_ROOT\.avi]
@="mpv.avi"
 
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.avi]
 
[-HKEY_CLASSES_ROOT\.avi\OpenWithProgIds]             
 
[HKEY_CLASSES_ROOT\.avi\OpenWithProgIds]
"mpv.avi"=hex(0):
И прикрепляю полный текст .reg файла, который ассоциирует 51 тип файлов с этим плеером
mpv.txt

Последний раз редактировалось Klezk, 14-03-2014 в 13:24.


Отправлено: 20:42, 11-03-2014 | #32


(*.*)


Сообщения: 36498
Благодарности: 6676

Профиль | Сайт | Отправить PM | Цитировать


Klezk, давайте все-таки внесем ясность в ваш пост, чтобы не было разночтений этой фразы:

Цитата Klezk:
успешно работает независимо от того, ассоциирован этот тип файла уже с какой-то программой, или нет »
1. Приведенный вами REG-файл регистрирует портативную программу в компоненте панели управления "Программы по умолчанию" (при этом программа уже перестает быть портативной, но кого это волнует :) Регистрация программы позволяет массово ассоциировать ее со всеми типами файлов, с которыми она связана, в указанном элементе панели управления.

2. При импорте REG-файла в 8 / 8.1 никакой смены существующих ассоциаций не происходит (и да, я это только что проверил на вашем же файле и плеере). Другими словами, если у вас с MP4 ассоциирован плеер X, после импорта REG-файла плеер Х останется ассоциирован с MP4. Этому посвящена изрядная часть статьи.

3. Указанный REG-файл не несет в себе тайного знания, ибо составлен по мотивам документации MSDN (ссылки тут).

Остальное в статье...

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 22:52, 11-03-2014 | #33


Новый участник


Сообщения: 30
Благодарности: 7

Профиль | Отправить PM | Цитировать


Уважаемый Vadikan,
Цитата Vadikan:
Приведенный вами REG-файл регистрирует портативную программу »
Хотел бы отметить, что приведенный мной способ не является рекомендованным Microsoft способом регистрации приложений, описанным вот здесь: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx, в нем не используются ключи реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths, HKEY_CLASSES_ROOT\Applications и HKEY_CLASSES_ROOT\SystemFileAssociations.

Цитата Vadikan:
Регистрация программы позволяет массово ассоциировать ее со всеми типами файлов, с которыми она связана »
Эти типы файлов указываются вручную в рег-файле. Их может быть сколько угодно и они могут быть какие угодно.

Цитата Vadikan:
2. При импорте REG-файла в 8 / 8.1 никакой смены существующих ассоциаций не происходит (и да, я это только что проверил на вашем же файле и плеере). Другими словами, если у вас с MP4 ассоциирован плеер X, после импорта REG-файла плеер Х останется ассоциирован с MP4. »
Этого решительно не могу понять. Метод опробован мной лично в обслуживании большого парка ПК (около 300 машин, самое разнообразное железо, Windows 7, 8 и 8.1, как свежеустановленных, так и длительно эксплуатировавшихся).

Сейчас пишу из Windows 8, в качестве теста только что в компоненте панели управления "Программы по умолчанию" выбрал использовать по умолчанию Проигрыватель Windows Media, используются все значения по умолчанию (до этого использовалось 33 из 54), затем запустил reg-файл (прикрепленный к прошлому посту), затем снова зашел в "Программы по умолчанию" и вижу опять, что для Проигрывателя Windows Media задано 33 из 54 значений по умолчанию. А 21 тип файлов, следовательно, переассоциировался с mpv. Что проверяется и открытием их в Проводнике. И тип MP4 среди этих 21.

Могу только предполагать, что у Вас либо антивирусная программа не позволяет ассоциировать файлы, либо у текущего пользователя нет прав это делать, либо плеер, с которым была ассоциация до того, каким-то образом (например при его запуске) возвращает себе ассоциации, в общем происходит что-то. Но я такого не наблюдал, смена ассоциаций происходила всегда.

Последний раз редактировалось Klezk, 12-03-2014 в 02:57.


Отправлено: 02:51, 12-03-2014 | #34


(*.*)


Сообщения: 36498
Благодарности: 6676

Профиль | Сайт | Отправить PM | Цитировать


Klezk, я в свое время очень долго этот изучал этот вопрос (что видно даже из статьи). Более того, если вы прочтете комментарии, я не раз пытался воспроизвести заявления читателей и проводил их по шагам, после чего они приходили к выводу, написанному жирным красным шрифтом в статье.

И в вашем случае я тоже проверил на чистой виртуалке 8.1, так что сделайте то же самое, записывая видео параллельно.
1. Откройте mp4 - он должен открыться в современном проигрывателе.
2. Распакуйте программу в C:\mpv и запустите REG-файл. Можете перезагрузиться даже.
3. Откройте mp4.



Цитата Klezk:
Могу только предполагать, что у Вас либо антивирусная программа не позволяет ассоциировать файлы, либо у текущего пользователя нет прав это делать, либо плеер, с которым была ассоциация до того, каким-то образом (например при его запуске) возвращает себе ассоциации, в общем происходит что-то. »
1. Встроенный антивирус ничему не мешает.
2. Предполагать, что я не умею обращаться с REG-файлами, конечно, можно... но :)
3. Плеер ничего не может изменить сам, и уж тем более современный.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 09:35, 12-03-2014 | #35


Новый участник


Сообщения: 30
Благодарности: 7

Профиль | Отправить PM | Цитировать


Vadikan,
Цитата Vadikan:
на чистой виртуалке 8.1 »
Сказать, что я шокирован до глубины души, будет мало Я обязательно сегодня все проделаю и запишу ролик! Но, ммм... может у Вас виртуалка как-то влияет... хотя вряд ли. Не понимаю, ну да ладно, вечером будет ролик.
Елки-палки. Может, это у меня какой-то твик влияет на картину? На всех компьютерах, что я обслуживаю, установлен мой набор твиков реестра Он много лет используется, самый обычный твик, "Библиотеки" убирает из Проводника и тому подобное...

Ради чистоты эксперимента поставлю с нуля Windows 8.1 c лицензионного диска!

Отправлено: 15:31, 12-03-2014 | #36


Новый участник


Сообщения: 30
Благодарности: 7

Профиль | Отправить PM | Цитировать


Ну вот, отчитываюсь об эксперименте.
Ролик на Яндекс-диске: http://yadi.sk/d/FuSYmYF9KRc6x
Этот же ролик на ютубе: http://www.youtube.com/watch?v=4BtSk8v4jsk

Также мне интересен общий вопрос: если что-то (в данном случае ассоциации файлов) возможно сделать только через панель управления, а через реестр нельзя, то выходит, это что-то НЕ ХРАНИТСЯ в реестре (и не отображается в реестре после работы с панелью управления)? Но если так, то, простите, ГДЕ же тогда оно запоминается? В каких-то файлах .db, .edb, .ini и т. д.? Должен же быть материальный носитель

Отправлено: 06:59, 13-03-2014 | #37


(*.*)


Сообщения: 36498
Благодарности: 6676

Профиль | Сайт | Отправить PM | Цитировать


Klezk, сорри, это не чистая ОС с настройками по умолчанию (судя по кол-ву шлака и отключенному UAC). Но я рад, что у вас все работает.

Что касается вопроса, емнип, все хранится в реестре, но при изменениях из панели управления добавляется некий хэш.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 10:08, 13-03-2014 | #38


Новый участник


Сообщения: 30
Благодарности: 7

Профиль | Отправить PM | Цитировать


Vadikan, Да, извините, вчера не нашел времени отформатировать веник и вчистую поставить ОС. Но это непременно сделаю! Интересно же
А про хэш известно, он добавляется сюда:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp4\UserChoice]
"Hash"="jG0J4MJSQgI="
"ProgId"="mpv.mp4"

и поскольку нигде не документирован алгоритм построения этого хэша, то просто удаляем ключ, ОС создает его и оба параметра заново на основании этого:

[HKEY_CLASSES_ROOT\.mp4\OpenWithProgIds]
"mpv.mp4"=hex(0):

P.S. А что Вы называете "шлаком"? Прикладные программы? Я не использую (Боже упаси!) никаких "ускорителей", "очистителей реестра", "оптимизаторов", т. е. ничего, что лезет в ОС. Только ручную правку реестра (ручное составление рег-файлов, понимая, что именно каждая строчка делает и зачем).

Отправлено: 14:42, 13-03-2014 | #39


(*.*)


Сообщения: 36498
Благодарности: 6676

Профиль | Сайт | Отправить PM | Цитировать


Klezk, ну видно же, что ОС не чистая. Где прикладные программы, там и службы, а без UAC вы вообще не знаете, когда процессы повышают свои права.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 15:20, 13-03-2014 | #40



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 8 и 8.1 » Блог - Как правильно ассоциировать типы файлов с программами в Windows 8

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Как ассоциировать портативный AIMP с его типами файлов Amiranchik Microsoft Windows 8 и 8.1 10 04-09-2012 18:00
Интерфейс - Зарегистрированные типы файлов Windows 7 Reset5 Microsoft Windows 7 7 14-05-2010 00:35
Интерфейс - [решено] типы файлов mnbv Microsoft Windows Vista 2 09-09-2009 22:02
Интерфейс - [решено] Типы файлов Malfatto Microsoft Windows Vista 5 03-09-2008 21:49
Типы файлов и соответствующее им ПО dascon Программное обеспечение Windows 6 23-07-2008 12:07




 
Переход