c++ - 使用 C++ (Windows) 在新窗口中启动 URL

标签 c++ url

如何使用 C++(仅限 Windows)在新窗口中启动 URL?

直截了当的方法似乎是在现有浏览器窗口中打开一个新选项卡。 (或者,如果选项卡式浏览被禁用,新的 URL 会劫持现有的浏览器窗口)。

这是一个(大型)桌面应用程序,使用 MFC 和 Qt。

最佳答案

我用它在默认浏览器中显示本地生成的 html,在我的例子中,文件名类似于“c:\temp\page.html”,也许用 URL 替换文件名可能有效?

ShellExecute(NULL,"open",filename,NULL,NULL,SW_SHOWNORMAL);

更新: http://support.microsoft.com/kb/224816

ShellExecute如何判断是否启动一个新的实例 当 ShellExecute 查看注册表时,它会查找 shell\open 子项。如果定义了 shell\open\ddeexec 键,则带有指定应用程序 IExplore 和主题 WWW_OpenURL 的动态数据交换 (DDE) 消息将广播到桌面上的所有顶级窗口。第一个响应此消息的应用程序是转到请求的 URL 的应用程序。如果没有应用程序响应此 DDE 消息,则 ShellExecute 使用包含在 shell\open\command 子项中的信息来启动应用程序。然后它重新广播 DDE 消息以转到请求的 URL。

看来您无法控制打开新窗口。当前运行的任何浏览器都可以以他们想要的任何方式打开它。

关于c++ - 使用 C++ (Windows) 在新窗口中启动 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/849656/

相关文章:

来自 URL 的 Android 可绘制图像

python - Levenshtein两个文件上的距离花费太多时间

c++ - Qt 从派生类发出基类信号

C++访问私有(private)类成员

php - 将字符串修改为 seo url 但保留斯堪的纳维亚字母

java - 将请求重定向到 Controller 中的特定操作 public F.Promise<SimpleResult> call(Http.Context ctx){}

python - 如何抓取两个 URL 并将每个 URL 的元素放入一个表中?

python - Selenium 导航后获取当前网址?

c++ - 在 C++ 中对构造函数使用初始值设定项有什么好处?

c++ - qsort 用于对对象表进行排序