将IE窗口置于屏幕前方

时间:2012-03-22 07:22:17

标签: asp.net internet-explorer-8

我正在动态创建新的IE浏览器实例,并从那里打开一个aspx页面。一切正常,但浏览器没有弹出屏幕的前面。当我从那里点击它时,可以看到任务栏中的Aspx页面它来到Front。如何在创建IE后立即将该页面放在所有屏幕前。

我已经粘贴了用于创建新IE实例的代码。

public class IEInstance
{
    public SHDocVw.InternetExplorer IE1;
    public void IEInstanceCls(string check)
    {
        IE1 = new SHDocVw.InternetExplorer();
        object Empty = 0;
        string urlpath = " ";            
        urlpath = "http://localhost/TestPage.aspx?";         
        object URL = urlpath;
        IE1.Top = 260;
        IE1.Left = 900;
        IE1.Width = 390;
        IE1.Height = 460;
        IE1.StatusBar = false;
        IE1.ToolBar = 0;
        IE1.MenuBar = false;
        IE1.Visible = true;
        IE1.Navigate2(ref URL, ref Empty, ref Empty, ref Empty, ref Empty);
    }
}

帮我解决这个问题。

谢谢

1 个答案:

答案 0 :(得分:3)

Internet Explorer对象具有HWND属性,该属性是窗口的句柄。您可以使用它将窗口置于前面,如:

    SetForegroundWindow((IntPtr)IE1.HWND);

您需要在文件顶部附近导入这样的SetForgroundWindow Windows API。

    [DllImport("user32.dll")]
    static extern bool SetForegroundWindow(IntPtr hWnd);