c# 怎么获得任务栏所有窗体句柄???

时间:2021-11-10 21:25:20
c# 怎么获得任务栏所有窗体句柄???

 [DllImport("User32.dll", EntryPoint = "FindWindow")]
 private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);  

private void button1_Click(object sender, EventArgs e)
        {
            IntPtr ParenthWnd = new IntPtr(0);
            ParenthWnd = FindWindow(null, "计算器");
            //判断这个窗体是否有效
            if (ParenthWnd != IntPtr.Zero)
            {
                MessageBox.Show("找到窗口");
            }
            else
                MessageBox.Show("没有找到窗口");
        
        }

各种软件窗体  IE窗体等等!!(只要是在任务栏的)

5 个解决方案

#1


用while循环,遍历整个窗体

#2


遍历进程,判断进程是否有窗体~

#4


FindWindow, FindChildWindow
GetWindowThreadProcessId获取窗口的进程ID

#5


Win32 API - EnumWindows 

#1


用while循环,遍历整个窗体

#2


遍历进程,判断进程是否有窗体~

#3


#4


FindWindow, FindChildWindow
GetWindowThreadProcessId获取窗口的进程ID

#5


Win32 API - EnumWindows