Klezk
13-03-2014, 18:11
Эксперимент 2, на совершенно чистой Windows 8.1: http://yadi.sk/d/tCUZmoOFKTZrV, http://www.youtube.com/watch?v=X5kLQzuObWI
Даже драйвер видеокарты не был поставлен, поэтому плеер mpv показал черный квадрат. Это на минуту отвлекло меня при записи ролика от главной задачи :) Кстати, mpv таки может показывать видео на "Базовом видеоадаптере (Microsoft)", нужно было direct3d указать в настройках. Но это отступление от темы.
Что выяснилось в ходе эксперимента. Рег-файл несовершенен :) После самой первой переассоциации с Проигрывателя Windows Media на mpv с помощью рег-файла наблюдалось окно выбора программы при открытии видеоролика. Но только при самой первой. Далее я установил Media Player Classic, корректно проассоциировал файлы с ним, проиграл им ролик, затем запустил рег. Все переассоциировалось на mpv без вопросов. Далее я по умолчанию выбрал Проигрыватель Windows Media, проиграл ролик, снова запустил рег. Без вопросов ассоциации сменились.
Есть предположение, почему так. Мне следует перестать использовать ключ реестра HKEY_CLASSES_ROOT, потому что добавленное в него на самом деле раскладывается по ключам HKEY_LOCAL_MACHINE\SOFTWARE\Classes и HKEY_CURRENT_USER\SOFTWARE\Classes, я после посмотрел в реестре и увидел часть параметров в одном, а остальные в другом. Это кавардак, поэтому буду использовать HKEY_LOCAL_MACHINE\SOFTWARE\Classes, а ключи из HKEY_CURRENT_USER\SOFTWARE\Classes просто удалю (на чистой системе там и нет почти ничего, но на замусоренной может быть).
Ну и мелкий баг в предпоследней строке рега исправил. Итого, новая версия! (http://it-systems.org/mpv.reg)
На примере одного типа файла:
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]
".mp4"="mpv.mp4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mpv.mp4]
@="mpv mp4 video"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mpv.mp4\DefaultIcon]
@="C:\\mpv\\mpv.exe,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mpv.mp4\shell\open\command]
@="\"C:\\mpv\\mpv.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mp4]
@="mpv.mp4"
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp4]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mp4\OpenWithProgIds]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\.mp4]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mp4\OpenWithProgIds]
"mpv.mp4"=hex(0):
Даже драйвер видеокарты не был поставлен, поэтому плеер mpv показал черный квадрат. Это на минуту отвлекло меня при записи ролика от главной задачи :) Кстати, mpv таки может показывать видео на "Базовом видеоадаптере (Microsoft)", нужно было direct3d указать в настройках. Но это отступление от темы.
Что выяснилось в ходе эксперимента. Рег-файл несовершенен :) После самой первой переассоциации с Проигрывателя Windows Media на mpv с помощью рег-файла наблюдалось окно выбора программы при открытии видеоролика. Но только при самой первой. Далее я установил Media Player Classic, корректно проассоциировал файлы с ним, проиграл им ролик, затем запустил рег. Все переассоциировалось на mpv без вопросов. Далее я по умолчанию выбрал Проигрыватель Windows Media, проиграл ролик, снова запустил рег. Без вопросов ассоциации сменились.
Есть предположение, почему так. Мне следует перестать использовать ключ реестра HKEY_CLASSES_ROOT, потому что добавленное в него на самом деле раскладывается по ключам HKEY_LOCAL_MACHINE\SOFTWARE\Classes и HKEY_CURRENT_USER\SOFTWARE\Classes, я после посмотрел в реестре и увидел часть параметров в одном, а остальные в другом. Это кавардак, поэтому буду использовать HKEY_LOCAL_MACHINE\SOFTWARE\Classes, а ключи из HKEY_CURRENT_USER\SOFTWARE\Classes просто удалю (на чистой системе там и нет почти ничего, но на замусоренной может быть).
Ну и мелкий баг в предпоследней строке рега исправил. Итого, новая версия! (http://it-systems.org/mpv.reg)
На примере одного типа файла:
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]
".mp4"="mpv.mp4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mpv.mp4]
@="mpv mp4 video"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mpv.mp4\DefaultIcon]
@="C:\\mpv\\mpv.exe,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mpv.mp4\shell\open\command]
@="\"C:\\mpv\\mpv.exe\" \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mp4]
@="mpv.mp4"
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp4]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mp4\OpenWithProgIds]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\.mp4]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mp4\OpenWithProgIds]
"mpv.mp4"=hex(0):