を最小化し、プログラムのウィンドウを復元することができます。
Restore a minimized window of another applicationどのように私は可能性の重複トレイに
私は(ショーをしてフォーカスを与える)を復元したい外部プログラムに。
トレイ上にある場合、MainWindowHandleは0なので、ウィンドウを復元できないという問題があります。
Process[] process = Process.GetProcessesByName("MyApp");
//process.MainWindowHandle == 0 if it is on tray!! :(
私は既にGoogleとstackoverflowを検索しました。私は同じ質問のスレッドをいくつか見つけましたが、これに対する答えはありません。
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr windowHandle, ShowWindowFlag flag);
外部アプリケーションをトレイから取り出してタスクバーに移動するにはどうすればよいですか?私はFindWindowを、
[DllImport("User32.dll", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string className, string windowName);
を使用することができますが、同じクラスとタイトルを持つ多くの一つのプロセスがある場合、FindWindowをはどのように私はこの問題を解決することができ、それらの一方のみを返します?
いいえ、それは重複していません、私の問題は、アプリが隠れて、トレイに最小化されます。 – Pedro77