gpt4 book ai didi

c++ - 在 Windows 10 上尝试获取默认 Web 浏览器路径失败

转载 作者:行者123 更新时间:2023-11-28 05:50:59 25 4
gpt4 key购买 nike

我在我的应用程序安装程序中执行以下操作(请注意,此项目的安装程序只是一个 Windows 可执行文件 (setup.exe) 而不是 MSI。)

首先,我需要检查 .htm.html 文件类型是否存在文件关联。我 did so already .然后,如果没有关联,我需要添加它们以便通过网络浏览器打开。

为了减少对用户系统的影响,我考虑使用用户的默认网络浏览器。问题是如何找到它的路径?

所以我是这样做的:

//Get default web browser path
WCHAR wbuffPath[MAX_PATH] = {0};
DWORD dwszBuffPath = MAX_PATH;
::AssocQueryStringW(0, ASSOCSTR_EXECUTABLE, L"http", L"open", wbuffPath, &dwszBuffPath);

这似乎有效,除了当我在 Windows 10 上运行它时我得到这个路径(当默认是 Edge 浏览器时):

C:\WINDOWS\system32\LaunchWinApp.exe

那么如何获取参数的重置来启动呢?

最佳答案

尝试使用 ASSOCSTR_COMMAND 而不是 ASSOCSTR_EXECUTABLE。通过使用 ASSOCSTR_EXECUTABLE,您请求只是可执行文件本身,这正是您要返回的内容。 ASSOCSTR_COMMAND 应该为您提供可执行文件的整个命令行。

关于c++ - 在 Windows 10 上尝试获取默认 Web 浏览器路径失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35258970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com