在c++中启动html文件

Launching html file in c++

本文关键字:html 文件 启动 c++      更新时间:2023-10-16

我正在尝试使用Shell Execute()打开一个本地html文档。但是,我需要的是,假设那个特定的文档已经打开,如果ShellExecute再次被触发,那么那个特定的文件就不应该再次打开,而是把已经打开的文件放在前台。你能建议我怎么做吗?

void main()
{  
  ShellExecute(NULL, "open", "C:\prograomgiles\help.html",
              NULL, NULL, SW_SHOWNORMAL);
 }

这几乎是不可能的,因为这取决于哪个程序处理html文件以及它是如何工作的。假设我的操作系统通过在打印机上直接打印html文件来打开它们。如何将打开的文件置于前台?

如果你想以自己指定的方式显示HTML内容,可以编写自己的浏览器(这很容易,例如,你可以在C#应用程序中嵌入IE)并运行它,而不是默认的系统浏览器。然后,您就可以完全控制文件的显示方式。

许多web浏览器都会响应DDE消息,尤其是WWW_OpenURL消息。不确定其他浏览器,但IE也会响应WWW_GetWindowInfoWWW_Activate消息,您可以使用它们来枚举打开的窗口及其URL,然后激活特定的窗口。