WindowsFormsExtensions.SetTaskbarProgress などの Windows7.DesktopIntegration.WindowsFormsExtensions 関数を、いくつかの開いているフォームで使用する必要があります。これらのフォームは私のアプリケーションでは開かれません。
各ウィンドウの Form オブジェクトへのリンクを取得するには? または、これらのタスクバー機能を使用する別の方法がありますか?
私は方法を見つけました:
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)
);
}
フォーム オブジェクトは、独自のアプリケーションによって作成されたフォームに対してのみ存在します。
あなたが知る限り、他のアプリケーションによって作成されたウィンドウにはハンドルしかありません。
既存のハンドルの周りに Form オブジェクトを構築することは可能かもしれませんが、これはおそらく最善の方法ではないと思います。
なぜそのような他のフォームのプロパティを制御しようとしているのですか?何をしようとしているのですか?