打开默认浏览器时,ShellExecute从给定的URL中的'#'字符后截断

问题描述

我正在使用ShellExecute在QT应用程序中打开html文件。当我给浏览器名称作为参数时,它以'#'字符打开url,但是当我想以默认浏览器打开它时,它在'#'字符后截断。这是我的工作代码(以完整的网址打开):

QString current_path = QDir::currentPath();
QString file_path = "/SimCommon/help/build/html/analyze.html#current";
QString url = "file:///" + current_path + file_path;
QByteArray url_arr = url.toLocal8Bit();
LPCSTR lp_url = LPCSTR(url_arr.constData());
ShellExecute(NULL,"open","chrome.exe",lp_url,NULL,SW_SHOWNORMAL);

交换最后一行:

ShellExecute(NULL,SW_SHOWNORMAL);

然后打开网址,如“ /SimCommon/help/build/html/analyze.html”。 有没有办法打开带有完整URL的默认浏览器?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...