2012-06-08 2 views
3

Я создаю небольшое приложение Windows (C++), которое создает некоторые окна такого типа (CreateWindowEx и т. П.). И в одном окне я хочу добавить элемент управления, который показывает MHTML, загруженный из памяти, т. Е. Весь контент MHTML находится в строке, а не в файле.Компонент ActiveX для отображения в памяти MHTML в Windows

Я уже пробовал компонент Shell.Explorer, но я не могу найти способ вставить ему ничего, кроме HTML (см. AtlAxCreateControl).

Возможно ли использовать компонент Shell.Explorer или любой другой, чтобы отображать MHTML в памяти?
То есть, не записывая содержимое в файл, а затем предоставляя путь к файлу. Это работает, но это не оптимально, и это будет последняя альтернатива, если я не смогу сделать это иначе.

PS: Если это можно сделать на другом языке или в среде, такой как C#, JS, VBS, WSH, HTAs, я тоже все уши.

ответ

-1

Немного поздно ответить, но все же - есть способ сделать это: использовать элемент управления Microsoft WebBrowser (компонент COM, также можно использовать в приложениях .Net).

Посмотрите, что предлагают предлагаемые решения здесь - How to load mht from stream/string into a WebBrowser control? и здесь - How to display the string html contents into webbrowser control?. некоторые из них относятся к содержимому mhtml, но решения применимы и к обычным файлам html.

Удачи.