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 пункт, т.е. повторно (снова) открываю "Настройки" -> "Форматы"
По факту: все галочки полностью сохранились, но только после второго раза применения всех ассоциаций уже через окно выбора программ по умолчанию.
Вывод: сейчас, чтобы выбрать и полностью сохранить все ассоциации, необходимо использовать окно выбора программ по умолчанию, т.е. каждый раз проделывать этот описанный мной алгоритм.
Иначе, далеко не все ассоциации будут установлены с данным плеером.
Да уж, мы не ищем легких путей. С ума сойти, какой кошмар... Головоломка самая настоящая...
Иначе - просто геморрой.
Будь ты проклята, Майкрософт! Будь ты проклята!
1. То что окно панели управления запускается за заднем плане - тут я ничего поделать не могу, я просто вызываю API. Я конечно поищу способ исправить ...
2. То что после применить часть галок сбрасывается - тоже все верно, т.к. требуется ассоциация из панели управления. Ну что поделать если такие изменение в Win 10.
[merge_posts_bbcode]Добавлено: 2016-02-14 14:19:05[/merge_posts_bbcode]
И самое главное, по поводу появления системного диалога выбора ассоциаций - по другому в Win 10 уже нет возможности сделать. То что мы ставим/снимаем галки - это мы просто указываем какие расширения хотим/не хотим ассоциировать с нашей программой. А вот "реальную" привязку к ним можно сделать ТОЛЬКО через панель управления. Поэтому и появляется это окно после изменения ассоциаций в программе.
По идее(идее от MS) надо делать по другому - один раз при установке(или при первом запуске) прописать в нужные места список поддерживаемых расширений. А потом уже через панель управления рулить привязкой(именно так сделано в AIMP). Но - у нас очень большой список расширений, к тому же мы можем добавлять свои. Поэтому мы рулим в настройках программы - и уже потом через панель управления.
Вы главное 7-ку не трогайте. Ну чтобы совсем ничего не поменялось. А то судя по обсуждениям кучу костылей хотите прикрутить.
Цитата: 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.
Вот это точно бред наяву. Противоречит всей здравой логике.
Ожидаемый результат: в процессе удаления и после удаления не должно появляться (выскакивать) окно выбора программ по умолчанию, как и в случае обратного действия, т.е. снятия ассоциаций со всех расширений форматов.
Блин, так много текста - пока читаю мысль самого текста теряется.
[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]
По поводу удаления/снятия всех ассоциаций - тут согласен, не нужно отображать Панель Управления.
Aleksoid1978
Все теперь понятно, еще раз благодарю вас за развернутые ответы.
Я полностью проверил работу данного функционала - все работает правильно.
И еще кое-что:
Предлагаю вам сделать только вызов самого окна сопоставления программ, вместо полного окна выбора программ по умолчанию.
Раньше, на "Windows 8.1" было именно так и сделано, т.е. вызывалось только лишь само окно сопоставления программ, после применения ассоциаций.
Скриншот окна сопоставления программ: https://yadi.sk/i/eri5LRHKoogtR
Сейчас же вызывается полностью окно выбора программ по умолчанию из панели управления.
Почему я вас прошу это сделать?
1. Во-первых, это избавит от лишних совершенно ненужных действий, таких как загрузка списка приложений и пролистывания огромного списка приложений.
Представьте себе, у пользователя сотня различных приложений, приходится сначала ждать достаточно длительное время, пока сформируется список установленных приложений, т.е. ждать окончания процесс загрузки, а затем из него искать нужное приложение.
Это достаточно длительный и затратный по времени процесс. Т.е. уже есть повод избавиться от этого.
2. Во-вторых, это гораздо удобнее будет, т.е. сразу виден список поддерживаемых плеером расширений и достаточно просто будет выбрать конкретные расширения, или все поддерживаемые всего лишь нажатием на опцию "Выделить все" и на кнопку "Сохранить".
Вывод: исходя из данных аргументов, данная реализация вызова окна сопоставления программ вполне имеет место быть.
Блин - уже сколько говорить, то что работало в 8 - в 10 уже не работает. Мы тут не при чем....
Цитата: Aleksoid1978Блин - уже сколько говорить, то что работало в 8 - в 10 уже не работает. Мы тут не при чем....
Ясно, значит на десятке нельзя сразу вызвать окно сопоставления программ. Жаль...
А как сейчас обстоят дела на Windows 8 и 8.1?
Для этих систем должно сразу вызываться окно сопоставления программ, ведь оно там работает.
Если, после последних ваших изменений в r1170, его нет, тогда сделайте его хотя бы для этих систем пожалуйста.
Если оно, после последних изменений, по прежнему осталось, значит все в полном порядке.
P.S. Остается решить вопрос с пользовательскими расширениями...
А что с пользовательскими расширениями??
Цитата: 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]
У меня такое чувство, что система, после того, как пользователь прописал свое расширение для конкретных файлов, просто берет и сохраняет их навечно в своем списке всех доступных и поддерживаемых расширений в окне сопоставления программ.
Т.е. система, или же сам плеер просто запоминают те расширения, которые прописал сам пользователь, словно они уже присутствуют в самом приложении, хотя изначально их там нет.
Вот в чем суть странности.
С этим тоже столкнулся - причину пока не нашёл, но это 100% уже приколы системы, где-то она кеширует.
[merge_posts_bbcode]Добавлено: 2016-02-14 21:39:06[/merge_posts_bbcode]
Все - нашел причину, исправил в 1173. Теперь не будет "расширений - призраков" :)