2012-03-22 104 views
2

我正在动态创建新的IE浏览器实例,并从那里打开一个aspx页面。一切工作正常,但浏览器不会弹出在屏幕的前面。当我从那里点击它到Front时,可以看到任务栏中的Aspx页面。如何在创建IE时立即将该页面放在所有屏幕的前面。要将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); 
    } 
} 

帮我解决这个问题。

谢谢

回答

3

Internet Explorer对象有一个HWND属性,它是句柄的窗口。你可以用它来使窗口前,如:

SetForegroundWindow((IntPtr)IE1.HWND); 

你需要导入SetForgroundWindow窗口API如此之近你的文件的顶部。

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