Обновить Internet Explorer_Server из обработчика

Можно ли заставить Интернет Explorer_Server обновлять содержимое? У меня есть обработчик этого объекта во внешнем приложении (например, в моем похожем вопросе )

Я нашел хороший учебник по CodeProject, который показывает, как это сделать в MFC, но я хотел бы сделать это с C#.

Мой вопрос: как обновить Интернет Explorer_Server, который размещен во внешнем приложении.


person Misiu    schedule 21.01.2013    source источник


Ответы (1)


Я не могу проверить это прямо сейчас, но я предполагаю, что вы уже ссылаетесь на сборку mshtml в своем проекте C#?

Бьюсь об заклад, если вы поэкспериментируете с методом IHTMLDocument2.open, вы сможете найти способ сделать это. Я бегу в аэропорт, так что я не могу поэкспериментировать с ним или протестировать его прямо сейчас. Но эта ссылка содержит некоторую полезную информацию (примечание: хотя ссылка относится к коду win API, этот код моделируется в реализации .net через интерфейс IHTMLDocuement2 в сборке mshtml).

msdn на IHTMLDocument2.open

Мне повезло использовать сборку mshtml на C# для других операций, хотя это потребовало небольшой работы, проб и ошибок. Обратите особое внимание на параметр _BSTR как _SELF и передайте текущий uri.

person XIVSolutions    schedule 21.01.2013
comment
спасибо за отличный совет :) я почти работал. В С# я должен передать 4 аргумента этой функции (string url, object name, object features, object replace). Первый аргумент прост, но у меня есть проблема с другими тремя, потому что, если я передаю "", страница открывается в новых окнах IE, а не открывается внутри этого элемента управления Internet Explorer_Server. - person Misiu; 22.01.2013
comment
Я думаю, что именно здесь вы передаете аргумент _SELF. Интересно узнать, как вы наконец решите это. . . - person XIVSolutions; 24.01.2013
comment
И я имею в виду буквально передать строковый аргумент _SELF - person XIVSolutions; 24.01.2013
comment
спасибо за советы :) Я трачу почти 2 дня на поиски способа сделать это. Моя идея заключалась в том, чтобы вызвать событие click для определенного элемента, так как мне нужно было обновить только одну таблицу. Мне удалось решить мою проблему, и сейчас я улучшаю свой код, чтобы показать это решение. Я не смог попасть внутрь своих фреймов из-за доступа к перекрестным потокам. Дайте мне немного времени, и я напишу свое решение :) - person Misiu; 24.01.2013