AfxGetApp()->m_lpCmdLine,包含空格时显示不完整问题

123456789121 2020-05-22 11:07:18
文件类型和程序已关联,可以通过双击文件启动软件并加载文件,程序中通过
AfxGetApp()->m_lpCmdLine
获得参数(文件路径),路径中包含空格时路径显示不完整,空格部分显示~1,有的电脑可以正常加载,有的电脑不能,不知道和什么有关,或者如何得到完整的路径,请帮忙看看!
...全文
224 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sevancheng 2020-05-23
  • 打赏
  • 举报
回复
CCommandLineInfo::ParseParam();
schlafenhamster 2020-05-22
  • 打赏
  • 举报
回复
路径中包含空格时 加 引号
zgl7903 2020-05-22
  • 打赏
  • 举报
回复
随时可用标准库的 __argc __argv


#include <stdlib.h>
#include <tchar.h>

void Test()
{
for(int n=0; n<__argc; n++)
{
_tprintf(TEXT("arg%d = %s\n"), n, __targv[n]);
}
}



123456789121 2020-05-22
  • 打赏
  • 举报
回复
//向注册表写注册信息 CGCFileTypeAccess TheFTA; TCHAR szProgPath[_MAX_PATH]; GetModuleFileName(NULL, szProgPath, _MAX_PATH); csOpenCommand = szProgPath; csOpenCommand += _T(" \"%1\""); TheFTA.SetRegistryValue(HKEY_CLASSES_ROOT, _T(".xxx"), _T(""), _T("XXX.xxx")); TheFTA.SetRegistryValue(HKEY_CLASSES_ROOT, _T("XXX.xxx"), _T(""), _T("XXX参数")); TheFTA.SetRegistryValue(HKEY_CLASSES_ROOT, _T("XXX.xxx\\shell\\open\\command"), _T(""), csOpenCommand);
孤客天涯 2020-05-22
  • 打赏
  • 举报
回复
贴上你注册文件类型相关代码看看
  • 打赏
  • 举报
回复
在命令行中,空格是参数的分界 比如 aa.exe a b,他的参数有两个,分别是a和b,而不是a b这个字符串 如参数中有空格,需用引号 包起来,如 aa.exe "a b" ,这样参数就只有一个了
zgl7903 2020-05-22
  • 打赏
  • 举报
回复
注册的命令参数中 加引号 "%1"

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧