Файловые ассоциации в Windows 10 [Исправлено]

Автор Evgeniy1990, 13 февраля 2016, 18:15:01

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Evgeniy1990

Bug after r1169.

Что-то я не обрадовался изменениям в r1170, потому что то, что я увидел - просто настоящий идиотизм какой-то.

А теперь поясню:

1. При выборе "Все" и нажатии на кнопку "Применить" слетает автоматически галочка с "AVI".
Сразу вопросы - какого черта? Почему не слетает у остальных тогда?

2. На заднем плане открывается системное окно выбора программ по умолчанию.
И снова вопрос - зачем, если после нажатия кнопки "Применить" ассоциации уже привязались к файлам?

Скриншот: https://yadi.sk/i/qjU8Txn-on5XK

Что это вообще за переделки такие?

Начнем с того, что у меня, к примеру нет обновления, для которого были сделаны эти переделки, следовательно данные изменения, сделанные в r1170, совершенно никуда не годятся.

Ведь каждый пользователь решает для себя сам, хочет он обновляться, или же нет, это его право и его выбор.
Я, например, не хочу, просто незачем обновляться, вот и все. Другими словами, просто нет смысла.

Вывод: нужно добавить условие в код, что только при наличии установленного в систему необходимого обновления от Майкрософт, плеер будет применять этот измененный алгоритм установки ассоциаций с файлами.

Иначе, используем прежний способ установки ассоциаций.

Сейчас действительно получается черт знает что.
[merge_posts_bbcode]Добавлено: 2016-02-13 17:50:42[/merge_posts_bbcode]

Так, с первым пунктом вроде разобрался, просто очистил из реестра прежние ключи файловых ассоциаций, с помощью утилиты CСleaner.

Теперь при выборе "Все" и нажатии на кнопку "Применить" все галочки автоматически выставляются и сохраняются.

Самое главное - это то, что после нажатия на кнопки "Применить", или "ОК", галочки с расширений не должны автоматически сбрасываться.

Но окно выбора программ по умолчанию по прежнему остается просто лишним, если нет обновления, да еще и на заднем плане, что вообще по логике не совсем уж корректно.

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

Будь проклята эта Корпорация Майкрософт. Так и хочется руки им оторвать за это варварство.

Вот прям взял и побежал обновляться в угоду долбанной корпорации.

[merge_posts_bbcode]Добавлено: 2016-02-13 18:15:01[/merge_posts_bbcode]

Хах, да нет, ни хрена я не разобрался...

Мда, ну и геморрой...

Все с начала, итак по порядку:

Условие: в системном реестре нет никаких ключей файловых ассоциаций (дефолт).

1. Открыл "Настройки" -> "Форматы"
2. Выбрал "Все", нажал на кнопку "Применить"

По факту: ассоциации применились, открылось окно выбора программ по умолчанию.

3. Нажал на кнопку "ОК", закрыл окно настроек плеера
4. Повторно (снова) открываю "Настройки" -> "Форматы"

По факту: вижу такую картину: https://yadi.sk/i/tz68tzU-on5Th Ну не бред ли, а?

5. Повторно (еще раз) выбираю "Все", нажимаю на кнопку "Применить"
6. В окне выбора программ по умолчанию, выбираю приложение "MPC-BE"
7. Далее выбираю вторую настройку, т.е. "Выбрать значения по умолчанию для этой программы"
8. В окне выбора значений по умолчанию, выбираю "Выделить все", затем нажимаю на кнопку "Сохранить"
9. После всего этого, закрываю окно выбора программ по умолчанию и окно настроек плеера
10. Повторяю 4 пункт, т.е. повторно (снова) открываю "Настройки" -> "Форматы"

По факту: все галочки полностью сохранились, но только после второго раза применения всех ассоциаций уже через окно выбора программ по умолчанию.

Вывод: сейчас, чтобы выбрать и полностью сохранить все ассоциации, необходимо использовать окно выбора программ по умолчанию, т.е. каждый раз проделывать этот описанный мной алгоритм.

Иначе, далеко не все ассоциации будут установлены с данным плеером.

Да уж, мы не ищем легких путей. С ума сойти, какой кошмар... Головоломка самая настоящая...
Иначе - просто геморрой.

Будь ты проклята, Майкрософт! Будь ты проклята!
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

1. То что окно панели управления запускается за заднем плане - тут я ничего поделать не могу, я просто вызываю API. Я конечно поищу способ исправить ...
2. То что после применить часть галок сбрасывается - тоже все верно, т.к. требуется ассоциация из панели управления. Ну что поделать если такие изменение в Win 10.
[merge_posts_bbcode]Добавлено: 2016-02-14 14:19:05[/merge_posts_bbcode]

И самое главное, по поводу появления системного диалога выбора ассоциаций - по другому в Win 10 уже нет возможности сделать. То что мы ставим/снимаем галки - это мы просто указываем какие расширения хотим/не хотим ассоциировать с нашей программой. А вот "реальную" привязку к ним можно сделать ТОЛЬКО через панель управления. Поэтому и появляется это окно после изменения ассоциаций в программе.

По идее(идее от MS) надо делать по другому - один раз при установке(или при первом запуске) прописать в нужные места список поддерживаемых расширений. А потом уже через панель управления рулить привязкой(именно так сделано в AIMP). Но - у нас очень большой список расширений, к тому же мы можем добавлять свои. Поэтому мы рулим в настройках программы - и уже потом через панель управления.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Вы главное 7-ку не трогайте. Ну чтобы совсем ничего не поменялось. А то судя по обсуждениям кучу костылей хотите прикрутить.

Evgeniy1990

Цитата: Aleksoid19781. То что окно панели управления запускается за заднем плане - тут я ничего поделать не могу, я просто вызываю API. Я конечно поищу способ исправить ...
2. То что после применить часть галок сбрасывается - тоже все верно, т.к. требуется ассоциация из панели управления. Ну что поделать если такие изменение в Win 10.
[merge_posts_bbcode]Добавлено: 2016-02-14 14:19:05[/merge_posts_bbcode]

И самое главное, по поводу появления системного диалога выбора ассоциаций - по другому в Win 10 уже нет возможности сделать. То что мы ставим/снимаем галки - это мы просто указываем какие расширения хотим/не хотим ассоциировать с нашей программой. А вот "реальную" привязку к ним можно сделать ТОЛЬКО через панель управления. Поэтому и появляется это окно после изменения ассоциаций в программе.

По идее(идее от MS) надо делать по другому - один раз при установке(или при первом запуске) прописать в нужные места список поддерживаемых расширений. А потом уже через панель управления рулить привязкой(именно так сделано в AIMP). Но - у нас очень большой список расширений, к тому же мы можем добавлять свои. Поэтому мы рулим в настройках программы - и уже потом через панель управления.
Спасибо за развернутый ответ, теперь понятно, почему вы решили так сделать, но вы не учли некоторые условия:

1. Нонсенс с выделением того, что уже и так задействовано в окне выбора программ по умолчанию.

Если в окне выбора программ по умолчанию уже стоят все галочки, то при повторном открытии настроек плеера и раздела "Форматы" они, насколько я понимаю, по логике, должны были также сохраниться.

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

В результате, получился какой-то нонсенс, т.е. в окне выбора программ по умолчанию, в MPC-BE стоят все галочки, а в самом MPC-BE, при повторном открытии - не все.

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

У нас получилось так, чтобы сохранить галочки в самом плеере в разделе "Форматы" нужно всегда кликать в окне выбора программ по умолчанию опцию "Выделить все", а затем "Сохранить", чтобы подтвердить их сохранение в разделе "Форматы" в настройках самого плеера.

Но зачем? Что выделять если все уже выделено? Я не могу понять этой бредовой логики. Очень хочу, чтобы вы дали мне нормальный развернутый ответ по этому поводу.

А то получается так, что сохранение всех галочек в разделе "Форматы" зависит только лишь от одной опции в окне выбора программ по умолчанию - это "Выделить все" и "Сохранить".

2. Обратное действие. Другими словами - снятие ассоциаций со всех расширений форматов.

Выбираю "Ничего", нажимаю "Применить"

По факту: открывается окно выбора программ по умолчанию в котором вообще полностью отсутствует MPC-BE.

Вопрос - тогда зачем оно вообще нужно, если в нем нет MPC-BE? Снова непонятно.

Если после нажатия на кнопку "Применить" уже итак снялись все ассоциации с расширений форматов, зачем тогда это окно выбора программ по умолчанию?

Однозначно - нелогично!

3. Появление окна выбора программ по умолчанию после полной деисталляции (удаления) приложения MPC-BE.

После полного удаления приложения MPC-BE, автоматически выскакивает окно выбора программ по умолчанию в котором также полностью отсутствует само приложение MPC-BE.

Вот это точно бред наяву. Противоречит всей здравой логике.

Ожидаемый результат: в процессе удаления и после удаления не должно появляться (выскакивать) окно выбора программ по умолчанию, как и в случае обратного действия, т.е. снятия ассоциаций со всех расширений форматов.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Блин,  так много текста - пока читаю мысль самого текста теряется.
[merge_posts_bbcode]Добавлено: 2016-02-14 16:36:56[/merge_posts_bbcode]

И кстати - в Windows 8 тоже отображается управление расширениями при полном их снятии в программе.

[merge_posts_bbcode]Добавлено: 2016-02-14 16:55:46[/merge_posts_bbcode]

По поводу выставления галочек в настройках программы - еще раз повторюсь, что этими действиями мы ТОЛЬКО УКАЗЫВАЕМ какие расширения можно связать с MPC-BE. А вот чтобы именно связать с MPC-BE - для этого и используется Панель Управления системы. Но - тут есть нюанс в том что если расширение не было привязано к другой программе - то тогда достаточно просто проставить галки в самом MPC-BE(автоматически галки выставятся и в Панели Управление системы).

Следующее - если мы проставили галки, запустилась Панель Управления, проставили галки там - но в самом MPC-BE часть галок снялось. Как так ?? А все верно - достаточно просто закрыть настройки в проигрывателе и открыть их заново. Все потому что - что по нажатию кнопки "Применить" - запускается Панель Управления но фактически файловые ассоциации мы еще не проставили. А вот в коде уже прошли проверки и часть галок снялось. Тут уже ничего не поделать - нет возможности(физически) запустить Панель Управления и ждать ее завершения и только потом выполнять проверки на файловые ассоциации.

[merge_posts_bbcode]Добавлено: 2016-02-14 16:57:07[/merge_posts_bbcode]

По поводу удаления/снятия всех ассоциаций - тут согласен, не нужно отображать Панель Управления.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978

Все теперь понятно, еще раз благодарю вас за развернутые ответы.

Я полностью проверил работу данного функционала - все работает правильно.

И еще кое-что:

Предлагаю вам сделать только вызов самого окна сопоставления программ, вместо полного окна выбора программ по умолчанию.

Раньше, на "Windows 8.1" было именно так и сделано, т.е. вызывалось только лишь само окно сопоставления программ, после применения ассоциаций.

Скриншот окна сопоставления программ: https://yadi.sk/i/eri5LRHKoogtR

Сейчас же вызывается полностью окно выбора программ по умолчанию из панели управления.

Почему я вас прошу это сделать?

1. Во-первых, это избавит от лишних совершенно ненужных действий, таких как загрузка списка приложений и пролистывания огромного списка приложений.

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

Это достаточно длительный и затратный по времени процесс. Т.е. уже есть повод избавиться от этого.

2. Во-вторых,  это гораздо удобнее будет, т.е. сразу виден список поддерживаемых плеером расширений и достаточно просто будет выбрать конкретные расширения, или все поддерживаемые всего лишь нажатием на опцию "Выделить все" и на кнопку "Сохранить".

Вывод: исходя из данных аргументов, данная реализация вызова окна сопоставления программ вполне имеет место быть.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Блин - уже сколько говорить,  то что работало в 8 - в 10 уже не работает. Мы тут не при чем....
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Блин - уже сколько говорить,  то что работало в 8 - в 10 уже не работает. Мы тут не при чем....
Ясно, значит на десятке нельзя сразу вызвать окно сопоставления программ. Жаль...

А как сейчас обстоят дела на Windows 8 и 8.1?
Для этих систем должно сразу вызываться окно сопоставления программ, ведь оно там работает.
Если, после последних ваших изменений в r1170, его нет, тогда сделайте его хотя бы для этих систем пожалуйста.
Если оно, после последних изменений, по прежнему осталось, значит все в полном порядке.

P.S. Остается решить вопрос с пользовательскими расширениями...
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

А что с пользовательскими расширениями??
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978А что с пользовательскими расширениями??
С ними есть одна странность, правда, не совсем понятно, с чьей стороны она идет. Думаю, что с системы.

Скажу сразу, что дело явно не в работе самого функционала применения ассоциаций.

После того, когда прописываешь вручную пользовательские расширения и применяешь их, то при обратном действии, они сохраняются в списке всех поддерживаемых расширений, даже несмотря на то, что:

1. Были полностью удалены абсолютно все ключи из реестра.
2. Была полностью удалена сама программа, а затем установлена заново.

Возьмем, для примера, расширение ".qt". Я его прописал вручную рядом с расширением ".mov", поскольку оно также относится к группе "QuickTime Movie".

Далее, я установил ассоциацию с данным расширением, с помощью системного окна выбора программ по умолчанию.
После, я выполнил обратное действие - снял ассоциацию с данного расширения.

И вот что получилось, обратите пожалуйста внимание на скриншот: https://yadi.sk/i/w52QnC4joot7P

С одной стороны, - это вполне логично и правильно.

Вопрос: а теперь, что же получилось с другой стороны?

Ответ:

1. Я полностью удалил приложение MPC-BE.
2. После удаления, я полностью очистил абсолютно все ключи ассоциаций, оставшиеся в системном реестре.
3. После всего этого, я заново установил приложение MPC-BE и установил все ассоциации с ним.

При этом, в окне сопоставления программ, в списке всех доступных и поддерживаемых расширений, я увидел свое вручную прописанное расширение ".qt".

Вопрос: что здесь не так?

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

Т.е. вручную прописанные расширения пользователями, сохраняются всегда в списке всех доступных и поддерживаемых расширений в окне сопоставления программ.

По логике, они должны удаляться из списка, если приложение было полностью удалено, или были полностью очищены (удалены) все ключи файловых ассоциаций из системного реестра.
[merge_posts_bbcode]Добавлено: 2016-02-14 13:21:31[/merge_posts_bbcode]

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

Т.е. система, или же сам плеер просто запоминают те расширения, которые прописал сам пользователь, словно они уже присутствуют в самом приложении, хотя изначально их там нет.

Вот в чем суть странности.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

С этим тоже столкнулся - причину пока не нашёл,  но это 100% уже приколы системы,  где-то она кеширует.
[merge_posts_bbcode]Добавлено: 2016-02-14 21:39:06[/merge_posts_bbcode]

Все - нашел причину, исправил в 1173. Теперь не будет "расширений - призраков" :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215