如何启动默认的UWP Web浏览器?

时间:2018-11-16 02:52:36

标签: c++ windows uwp

我需要使用c ++代码在Windows上启动默认浏览器。

我已经找到这种方式:使用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的名称?

那么,有没有办法在不打开指定网址的情况下启动默认浏览器?

0 个答案:

没有答案