通过 System() 打开时边缘第一个选项卡错误

Edge First Tab Error when Opening via System()

做的时候

const std::string LaunchStr = "C:\\"Program Files (x86)\"\Microsoft\Edge\Application\msedge.exe --profile-directory=\"Profile 1\" C:\Users\redacted1\redacted4.html";
System(LaunchStr.c_str());

Microsoft Edge 按预期启动,加载的配置文件是正确的,redacted4.html 上有一个新选项卡。但是,第一个选项卡(也是重点选项卡)如下 url program%20--fast-start%20files%20%28x86%29/Microsoft/Edge/Application/msedge.exe。我觉得这很奇怪,因为我的代码中没有任何地方写 program%20--fast-start%20files%20%28x86%29/.

这是为什么?我该如何预防?

我建议您尝试参考下面的示例代码,它可以帮助您使用正确的配置文件和指定的 URL.

正确启动 MS Edge 浏览器
#include <windows.h>

int main()
{
    CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);

    SHELLEXECUTEINFOW sei = { sizeof sei };
    sei.lpVerb = L"open";
    sei.lpFile = L"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";
    sei.lpParameters = L"--user-data-dir=\"C:\Users\<user>\AppData\Local\Microsoft\Edge\User Data\Profile 1\" C:\Users\redacted1\redacted4.html"; // Modify the path for user-profile here...
    ShellExecuteExW(&sei);
}

注意:您可以在Edge浏览器的地址栏中输入edge://version/,在上面的代码示例中看到配置文件路径进行修改。

输出: