繁体   English   中英

如何以编程方式更改浏览器 URL

[英]How to programmatically change browser URL

In my C++ Windows application I use ShellExecute to open a remote PDF file in the internet browser at a certain PDF Destination (dynamic bookmarks provided by Adobe Acrobat Reader):

ShellExecute(NULL, "open", "https://www.myweb.cloud/guide.pdf#dest_1", NULL , NULL, SW_SHOWNORMAL);

然后,如果我想移动到另一个目的地,对 ShellExecute 的另一个调用(在 URL 中带有#dest_2)只需在浏览器中打开另一个页面并下载 PDF 再次在该目的地打开它。

有没有办法以编程方式更改 URL(从 #dest_1 到 #dest_2)而不使浏览器打开新页面并重新下载 PDF?

我还在我的应用程序中使用 LibCurl 来从远程服务器检索数据。 我可以用 LibCurl 实现我的目标吗? 如果是这样,你能给我看一个代码示例吗?

提前致谢。

  1. 默认情况下,使用ShellExecute打开的外部链接始终在新选项卡中打开。 Chrome 无法更改此行为。 早期的 Firefox 有一个在当前活动选项卡中打开外部链接的选项,但现在似乎没有。
  2. 您可以使用 libcurl 下载文件,请参阅url2file示例。 下载文件后,您可以使用ShellExecute在某个应用程序中打开它。 您只需要找到适合您要求的应用程序。 例如 Adobe Reader 似乎不支持在同一个选项卡中打开 1、2 正如@KJ 在我输入答案时评论的那样, sumatrapdf -reuse-instance似乎适合您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM