【问题标题】:Launching html file in c++在 C++ 中启动 html 文件
【发布时间】:2013-06-27 04:22:12
【问题描述】:

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

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

【问题讨论】:

  • 我认为您需要获取已打开应用程序的处理程序,并且每次您需要打开文档时检查处理程序是否仍然存在(活动)只需告诉操作系统通知/切换到存在应用程序,它可以通过第三个完成(以更简单的方式)。关心它的派对应用程序

标签: c++ winapi launching


【解决方案1】:

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

如果您想以您指定的方式显示 HTML 内容,请编写您自己的浏览器(这很简单,您可以 - 例如 - embed IE in C#.NET application)并运行它而不是默认系统浏览器。这样您就可以完全控制文件的显示方式。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-07
      • 1970-01-01
      相关资源
      最近更新 更多