Трудовые будни

Кто нибудь может мне объяснить, отчего вот такой вот кусок кода перестал работать в 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 для переменных автоматически при обнаружении в названии ейхных в середине текста большой буквы следующей сразу за маленькой буквой делать 1/3 пробела на экране между ними таки, хотя для любители fixed width шрифтов не согласятся

Z / V

>> любители 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. Казлы.

Это все делается для вашей безопасности!

я вот только не понимаю, от чего эта защита (от смены ассоциаций файлов) может быть необходима?

я начал что-то подозревать после того, как у меня "случайно" слетели ассоциации к файлам типа JPEG, а потом также "случайно" я увидел, что у меня из Магазина как бы сами проинсталлировались какие-то приложения, которые на эти ассоциации претендовали
похоже, MS хочет оставить за собой эксклюзивное право менять ассоциации файлов, соответственно это право она и собирается защищать

Отвалится, само собой - когда/если они всё же выпилят настройку протоколов и расширений файлов из классической Панели управления.

... - есть 2 варианта:
- забить на прошлые версии (linux);
- поддерживать совместимость со старыми версиями OSей так долго, на сколько возможно (Windows и, частично, Mac_OS).

ИМХО, оба подхода порочны, так или иначе.

С точки зрения ХомеЮзерс и БигБизнес правда за M$.
С точки зрения гиков и админов Среднего и Малого Бизнеса (вернее, их руководства!) - прав Линус, - ебаться будет НЕ пользователь и НЕ хозяин конторы МБ/СБ!

Яркий пример - хозяин этого блога. :-D

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