erhalten alle geöffneten Formen, c #?
Frage
Ich brauche Windows7.DesktopIntegration.WindowsFormsExtensions Funktionen, wie WindowsFormsExtensions.SetTaskbarProgress, mit einigen geöffneten Formen zu verwenden. Diese Formulare werden nicht geöffnet von meiner Anwendung.
Wie Link zu erhalten Objekt jedes Fensters Formular? Oder vielleicht gibt es eine andere Möglichkeit, diese Taskleiste Funktionen zu benutzen?
Lösung
ich habe einen Weg gefunden:
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)
);
}
Andere Tipps
Formularobjekte existieren nur für die Formen durch Ihre eigene Anwendung erstellt.
Windows erstellt von anderen Anwendungen nur Griffe haben, so weit wie Sie sagen können.
Es Macht möglich sein Formular zu konstruieren, um Objekte Griffe vorhanden, aber ich würde sagen, dass dies wahrscheinlich nicht der beste Weg, es zu tun.
Warum Sie Eigenschaften auf andere Formen wie das zu kontrollieren versuchen, was ist es, dass Sie zu tun versuchen?