Как я могу закрыть только что открытый Internet Explorer с помощью mshtml

Я хочу закрыть только что открытый Internet Explorer с помощью команды mshtml.

У меня есть программа, которая принимает значения из разных окон IE. Навигация к каждому окну вызывается с помощью метода Click() элемента. После обработки страницы я хочу закрыть окно.

Кто-нибудь знает, как закрыть окно с помощью Mshtml.

заранее спасибо Унни


person Unni Krishnan    schedule 29.04.2011    source источник


Ответы (2)


См. следующий код...

using System.Runtime.InteropServices;
// IE can be found in COM library called 
// Microsoft Internet Controls: 
using IE = SHDocVw.InternetExplorer; 
static void OpenAndCloseIE()
{
    // Get an instance of Internet Explorer: 
    Type objClassType = Type.GetTypeFromProgID("InternetExplorer.Application");
    var instance = Activator.CreateInstance(objClassType) as IE;

    // Close Internet Explorer again: 
    instance.Quit();

    // Release instance: 
    System.Runtime.InteropServices.Marshal.ReleaseComObject(instance);
    instance = null; // Don't forget to unreference it. 
}
person A.A. Hendriksen    schedule 30.07.2011

Легко: получите HWND от IWebBrowser2 и отправьте ему WM_CLOSE.

person MSalters    schedule 29.04.2011