我一个程序,期间会弹出一些窗口,
请问:怎么得到弹出最前面的窗口的名称?
谢谢

解决方案 »

  1.   

    试试api的 GetForegroundWindow得到句柄
      

  2.   

    [DllImport( "User32.dll ")] 
    static   extern   int   GetWindowText(IntPtr   handle,StringBuilder   text,int   MaxLen); 调用 
    StringBuilder   text   =   new   StringBuilder(len); 
    int   i=GetWindowText(handle,text,len); 
      

  3.   


    API方式/// <summary>
            /// 
            /// </summary>
            /// <param name="hwnd"></param>
            /// <returns></returns>
            [DllImport("user32.dll", EntryPoint = "GetForegroundWindow")]
            public static extern IntPtr GetForegroundWindow();        public Form1()
            {
                InitializeComponent();            IntPtr ip = GetForegroundWindow();
                if (ip != IntPtr.Zero)
                {
                    //...............
                }
            }
    如果是。Net程序自己的窗口使用如下属性:Form ActiveFrm = Form.ActiveForm;
      

  4.   

    是本程序的,要在一个label的Text属性,中得到最前窗口的Text
      

  5.   

    我主要是想得到这样的效果:
    无论何时,只要最前窗口,发生了变化,label就显示最前窗口的名称(包括当弹出多个窗口的时候,我在窗口间换来换去,改变最靠前窗口),反正label就显示最前窗口的名称,无论是通过何种方式,
      

  6.   

    以前vb有个ZOrder,现在.net里似乎没有给出访问窗口z顺序的方法了,看看这几个WinAPI
    http://blog.csdn.net/hhf383530895/archive/2009/11/24/4862179.aspxGetTopWindow是不是你要的