Как запустить веб-браузер UWP по умолчанию? - PullRequest
0 голосов
/ 16 ноября 2018

Мне нужно запустить браузер по умолчанию в Windows с кодом C ++.

Я нашел такой способ: используйте API «AssocQueryString», чтобы найти приложение, которое может открыть файл с расширенным именем файла «html». Он хорошо работает, когда браузером по умолчанию является ie или chrome или .., но если браузером по умолчанию является приложение UWP, такое как «Microsoft Edge», я получаю только «C: \ Windows \ system32 \ LaunchWinApp.exe»

DWORD size = MAX_PATH;
char buff[MAX_PATH];

int err = AssocQueryStringA(ASSOCF_INIT_IGNOREUNKNOWN, ASSOCSTR_EXECUTABLE ".html", NULL, buff, &size);

Итак, есть ли способ запустить браузер UWP по умолчанию?

Я пробовал это

SHELLEXECUTEINFOW sei = { sizeof sei };
sei.lpVerb = L"open";
sei.lpFile = L"microsoft-edge:";
ShellExecuteExW(&sei);

Но я могу запустить код только тогда, когда я знаю, что браузером по умолчанию является Edge, и если браузером по умолчанию является другое приложение UWP, как найти имя для передачи в lpFile?

Итак, есть ли способ запустить браузер по умолчанию, не открывая указанный URL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...