You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C语言调用默认浏览器打开about:blank空白页?

在Windows下用C语言调用默认浏览器打开about:blank的有效方法

你之前遇到的问题核心是:about:blank属于浏览器内部协议,直接用ShellExecute/ShellExecuteW传递时,Windows无法自动关联到浏览器程序;错误添加HTTP前缀会导致浏览器解析错误,打开默认页而非空白页。

以下是两种可行的解决方案:

方案一:借助cmd的start命令

利用Windows命令行的start命令,它能正确识别about:blank并唤起默认浏览器打开空白页,通过C语言调用ShellExecuteW执行该命令:

#include <Windows.h>

int main() {
    // 调用cmd执行start命令打开about:blank
    ShellExecuteW(NULL, L"open", L"cmd.exe", L"/c start about:blank", NULL, SW_SHOWDEFAULT);
    return 0;
}

这里的/c参数让cmd执行完命令后自动关闭窗口,SW_SHOWDEFAULT保证窗口以默认状态显示。

方案二:调用系统的url.dll处理内部协议

通过rundll32.exe调用系统自带的url.dll中的FileProtocolHandler函数,直接处理about:blank协议:

#include <Windows.h>

int main() {
    ShellExecuteW(NULL, L"open", L"rundll32.exe", L"url.dll,FileProtocolHandler about:blank", NULL, SW_SHOWDEFAULT);
    return 0;
}

这种方式更直接,不需要经过cmd中转,系统会直接调用默认浏览器处理该内部URL。

注意事项

  • 若需使用ANSI版本的ShellExecute,只需把代码中的宽字符串(L"")改为普通字符串,函数名换成ShellExecute即可,但推荐使用宽字符版本避免编码问题。
  • 测试时确保默认浏览器能正常响应about:blank(主流浏览器如Chrome、Edge、Firefox均支持)。

内容的提问来源于stack exchange,提问作者lit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 02:58:04