得到所有打开的表格,c#?

时间:2009-09-22 18:00:27

标签: c# forms windows-7 taskbar

我需要使用Windows7.DesktopIntegration.WindowsFormsExtensions函数,例如WindowsFormsExtensions.SetTaskbarProgress,以及一些打开的表单。我的申请不会打开这些表格。

如何获取每个窗口的Form对象的链接?或者可能有另一种方法来使用这些任务栏功能?

2 个答案:

答案 0 :(得分:1)

我找到了办法:

        WindowsFormsExtensions.SetAppId(this, "totalcmd");
        Process[] processes = Process.GetProcessesByName("TOTALCMD");
        foreach (Process p in processes)
        {
            IntPtr pFoundWindow = p.MainWindowHandle;
            //MessageBox.Show(p.ProcessName);

            Windows7.DesktopIntegration.Windows7Taskbar.SetWindowAppId(pFoundWindow, "totalcmd");
            MessageBox.Show(
                Windows7.DesktopIntegration.Windows7Taskbar.GetWindowAppId(pFoundWindow)
            );
        }

答案 1 :(得分:0)

表单对象仅适用于由您自己的应用程序创建的表单。

其他应用程序创建的Windows只有句柄,据您所知。

可能可以围绕现有句柄构造Form对象,但我想说这可能不是最好的方法。

为什么你试图控制其他形式的属性,你正试图做什么?