ShellExecute路径带空格怎么改?

「已注销」 2014-05-04 11:50:00
环境VC6.0+C语言
ShellExecute(NULL,"open","C:\\Documents and Settings\\administrator\\a.exe",NULL,NULL,SW_HIDE);

这句代码中路径带空格应该怎么改?
...全文
674 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-05-05
  • 打赏
  • 举报
回复
ShellExecute(NULL,"open","\"C:\\Documents and Settings\\administrator\\a.exe\"",NULL,NULL,SW_HIDE);
「已注销」 2014-05-05
  • 打赏
  • 举报
回复
引用 3 楼 jiangsheng 的回复:
有空格的路径加引号
能针对这句代码改下么,貌似已经加了引号了 ShellExecute(NULL,"open","C:\\Documents and Settings\\administrator\\a.exe",NULL,NULL,SW_HIDE);
蒋晟 2014-05-05
  • 打赏
  • 举报
回复
有空格的路径加引号
「已注销」 2014-05-05
  • 打赏
  • 举报
回复
引用 1 楼 wzh_xwjh 的回复:
我的程序里面这样写是没有问题的,可以运行,如果你的运行不了,可以在空格前面加转义字符“\”试试。还有啊,最后一个参数你用SW_HIDE,不显示界面的,在任务管理器里面看看有这个进程没有
我尝试过,路径不带空格就正常,带空格就运行不了,网上查貌似也是说不能带空格?
farmerwood 2014-05-04
  • 打赏
  • 举报
回复
我的程序里面这样写是没有问题的,可以运行,如果你的运行不了,可以在空格前面加转义字符“\”试试。还有啊,最后一个参数你用SW_HIDE,不显示界面的,在任务管理器里面看看有这个进程没有
通用软件自动更新模块,本程序不能主动运行,需要传递命令行参数,格式如下: 命令行参数 两种工作模式: 1.详细信息升级,格式如下(路径尽量使用""引起来,避免因为路径包含空格而调用失败): 自动升级模块可执行路径 需要升级的主程序路径 旧版本号 新版本号 程序下载地址 detail(固定写法) AutoUpdate.exe "E:\Visual Studio 2005\Projects\AutoUpdate\debug\测试.exe" 旧版本号 新版本号 http://.../WlwDir/10000/TaobaoDB.exe detail 2.主动分析模式,格式如下: 自动升级模块可执行路径 需要升级的主程序路径 旧版本号 新版本号(占位符,没实际用处,为了和模式1具有相同数量的参数,方便处理) 包含程序升级信息的网址(返回Json数据) linkurl(固定写法) AutoUpdate.exe "E:\Visual Studio 2005\Projects\AutoUpdate\debug\E语言示例.exe" 3.0 1.0 http://localhost:9572/UpdateWeb/Default.aspx linkurl http://localhost:9572/UpdateWeb/Default.aspx 返回数据为: {"SoftName":"测试软件","NewVersion":"2.0","DownUrl":"下载软件的url链接"} 如果返回的NewVersion比当前软件的版本高,则执行升级,否则升级程序自动退出。 注意: 上述格式最后还有一个可选的参数,为待升级程序的主窗口句柄,如果不知道怎么回事,此参数可以忽略。 VC写法如下,sprintf(参数,"0x%x",GetSafeHwnd()) //使用Shell启动升级程序即可 ShellExecute(this->m_hWnd,"open","AutoUpdate.exe",命令行参数,NULL,SW_SHOW); 有不明白的朋友,请与我联系

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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