Трудовые будни
lexa - 04/Май/2017 10:08
Кто нибудь может мне объяснить, отчего вот такой вот кусок кода перестал работать в Win10
IApplicationAssociationRegistrationUI *applicationAssociationRegistrationUI = 0; CoCreateInstance(CLSID_ApplicationAssociationRegistrationUI,0,CLSCTX_INPROC_SERVER, IID_IApplicationAssociationRegistrationUI,(LPVOID*)&applicationAssociationRegistrationUI); if (applicationAssociationRegistrationUI) { applicationAssociationRegistrationUI->LaunchAdvancedAssociationUI(L"FastRawViewer"); applicationAssociationRegistrationUI->Release(); }
Выдает красивое сообщение:
(ну то есть да, они предупреждали что так будет).
Но вот такой вот код - продолжает работать:
IOpenControlPanel * OpenControlPanel; HRESULT Result =CoCreateInstance(CLSID_OpenControlPanel, NULL, CLSCTX_INPROC, __uuidof(IOpenControlPanel), (void**)&OpenControlPanel); if (SUCCEEDED(Result)) { const wchar_t * Page = L"pageDefaultProgram\\pageAdvancedSettings?pszAppName=FastRawViewer"; OpenControlPanel->Open(L"Microsoft.DefaultPrograms", Page, NULL); OpenControlPanel->Release(); }
И делает в точности то же, что и предыдущий делал на 8.1, открывает нужную страничку Control Panel.
Чего ожидать то, что второй вариант при очередном обновлении десятки тоже отвалится?
P.S. Оба куска, естественно, цельнотянуты со StackOverflow.
Comments
как человек далекий от будней
как человек далекий от будней ... отчего в C++ переменных таки люди не вставляют "_" между словами, глазам же тяжело !
Z / V
Мне с капсом в середине
Мне с капсом в середине нравится больше, дело привычки.
надо в /гуй/ IDE для
надо в /гуй/ IDE для переменных автоматически при обнаружении в названии ейхных в середине текста большой буквы следующей сразу за маленькой буквой делать 1/3 пробела на экране между ними таки, хотя для любители fixed width шрифтов не согласятся
Z / V
>> любители fixed width
>> любители fixed width шрифтов
А как бы как код читать с variable width, это ж убиться.
при условии что айдентэйшн
при условии что айдентэйшн (отступы) IDE соблюдает красиво то что справа от них (код) можно пережить
Z / V
Я пробовал и в ужасе бежал
Я пробовал и в ужасе бежал
ИМХО, ничего необычного.
Просто модификация прав доступа в борьбе с "вирусами".
Первый путь перекрыли, второй пока не оставили (забыли).
Напишите в M$, первое не откроют, а вот второе точно зарубят! :-D
Моё сугубое ИМХО: читайте актуальные "ДСП" RTFM.
Для M$ это скорее правило, нежели исключение/досадная оплошность.
Да они как-то продолбали это
Да они как-то продолбали это место в MSDN: https://msdn.microsoft.com/ru-ru/library/windows/desktop/bb776330(v=vs.85).aspx
Не пишуть, что в Win10 оно отвалилось, только минимальная версия ОС, без максимальной.
Вообще, конечно наличие
Вообще, конечно наличие одновременно Control Panel (старой) и настроек (новых) и их взаимопроникновение - доставляют им, полагаю, чудовищную головную боль. "есть много способов сделать одно и то же...."
с учетом того что они до сих
с учетом того что они до сих пор не могут свести все в одну из двух хреновин намекает о том, что они этим наслаждаются. оно ж еще с 8 винды так...
Нет, в восьмерке не так. То
Нет, в восьмерке не так. То есть тамошние PC Settings они поделали и бросили, в десятке они явно новые.
Наверное наслаждаются, да, другого объяснения нет.
Так зарабатывают деньги (ЗП).
Если всё сразу работает и не содержит ошибок, нахера потом 2 года платить программистам зарплату?
Не помню, как говорили про Win95 и Win98, но про Win XP ( и M$ софт под неё) точно говорили: "любое действие можно выполнить МИНИМУМ двумя способами".
;-)
В Win10 дожили, наконец, до того, что разные способы начали давать разные результаты. :-D
А как это доставляет
А как это доставляет пользователям приложений которые поддерживают полсотни форматов... Раньше в приложении могла быть кнопка «поддержать все», пусть и требующая Administrator'а, а теперь возись вручную по списку 50 раз одно и то же делая в GUI. Казлы.
Это все делается для вашей
Это все делается для вашей безопасности!
я вот только не понимаю, от
я вот только не понимаю, от чего эта защита (от смены ассоциаций файлов) может быть необходима?
Подмена хэндлеров - это одна из техник persistence
https://attack.mitre.org/wiki/Technique/T1042
https://capec.mitre.org/data/definitions/556.html
я начал что-то подозревать
я начал что-то подозревать после того, как у меня "случайно" слетели ассоциации к файлам типа JPEG, а потом также "случайно" я увидел, что у меня из Магазина как бы сами проинсталлировались какие-то приложения, которые на эти ассоциации претендовали
похоже, MS хочет оставить за собой эксклюзивное право менять ассоциации файлов, соответственно это право она и собирается защищать
Отвалится, само собой - когда
Отвалится, само собой - когда/если они всё же выпилят настройку протоколов и расширений файлов из классической Панели управления.
Всё это многократно пройдено...
... - есть 2 варианта:
- забить на прошлые версии (linux);
- поддерживать совместимость со старыми версиями OSей так долго, на сколько возможно (Windows и, частично, Mac_OS).
ИМХО, оба подхода порочны, так или иначе.
С точки зрения ХомеЮзерс и БигБизнес правда за M$.
С точки зрения гиков и админов Среднего и Малого Бизнеса (вернее, их руководства!) - прав Линус, - ебаться будет НЕ пользователь и НЕ хозяин конторы МБ/СБ!
Яркий пример - хозяин этого блога. :-D
У каждого СВОЙ агрегат!
https://im0-tub-ru.yandex.net/i?id=a3dcf2869e62a7ad9a6d0d74f27e4ae7-l&n=13
Причём, с каждой из трёх
Причём, с каждой из трёх сторон:
- и у программиста,
- и у пользователя,
- и у владельца бизнеса/ конкретного девайса.