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

C++如何从自定义URL Scheme获取参数替换代码中的硬编码值

C++ MFC程序获取URL Scheme动态参数解决方案

实现逻辑

你使用的是MFC框架,可直接通过MFC内置的全局方法获取命令行参数,无需引入额外依赖,具体修改如下:
找到原有代码中硬编码的m_code = _T("pippo");行,将其替换为以下代码:

CString cmdLine = AfxGetApp()->m_lpCmdLine;
// 移除参数两侧的引号(注册表配置会自动给参数加引号)
cmdLine.Remove(_T('"'));
CString urlPrefix = _T("myapp://");
// 校验参数格式是否符合URL Scheme规则,不区分大小写匹配
if (cmdLine.GetLength() > urlPrefix.GetLength() && cmdLine.Left(urlPrefix.GetLength()).CompareNoCase(urlPrefix) == 0)
{
    // 提取URL前缀后的动态值赋值给m_code
    m_code = cmdLine.Mid(urlPrefix.GetLength());
    // 可选:如果动态值后有多余的路径/参数,可在此处增加截断逻辑,比如只取前面6位数字
    // m_code = m_code.Left(6);
}
else
{
    // 未获取到合法参数时使用默认值
    m_code = _T("pippo");
}

验证说明

你修改代码编译后,直接在浏览器地址栏输入myapp://654321调用启动程序,即可看到m_code的值被替换为654321,无需修改注册表现有配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:24:07