我正在尝试使用 Shell Execute() 打开本地 html 文档。但是,我需要的是,假设如果该特定文档已经打开,并且如果再次触发 ShellExecute,则不应再次打开该特定文件,而是将已打开的文件置于前台。你能建议我怎么做吗?
void main()
{
ShellExecute(NULL, "open", "C:\\prograomgiles\\help.html",
NULL, NULL, SW_SHOWNORMAL);
}
这几乎是不可能的,因为这取决于哪个程序处理html
文件以及它是如何工作的。假设我的操作系统html
通过直接在打印机上打印文件来打开文件。您如何将打开的文件带到前台?
如果您想以您指定的方式显示 HTML 内容,请编写您自己的浏览器(这很简单,您可以 - 例如 -在 C#.NET 应用程序中嵌入 IE)并运行它而不是默认系统浏览器。然后,您将完全控制文件的显示方式。
许多 Web 浏览器响应 DDE 消息,尤其是WWW_OpenURL
消息。不确定其他浏览器,但 IE 也会响应WWW_GetWindowInfo
和WWW_Activate
消息,您可以使用这些消息枚举打开的窗口及其 URL,然后激活特定窗口。