私は自分のアプリケーションを最小限に抑え、現在のデスクトップのスクリーンショットを撮り、アプリケーションを元の状態に戻したいと思っています。デスクトップ遷移効果を検出するにはどうすればよいですか?
これはWindows XPではうまくいきましたが、別のVistaマシンでのテストでは、200ミリ秒の最小時間はもはや有効ではありません。
このようなファンシーエフェクトが終了したときにオペレーティングシステムに問い合わせたり、操作を実行した時間を調べる方法はありますか?
私は自分のアプリケーションを最小限に抑え、現在のデスクトップのスクリーンショットを撮り、アプリケーションを元の状態に戻したいと思っています。デスクトップ遷移効果を検出するにはどうすればよいですか?
これはWindows XPではうまくいきましたが、別のVistaマシンでのテストでは、200ミリ秒の最小時間はもはや有効ではありません。
このようなファンシーエフェクトが終了したときにオペレーティングシステムに問い合わせたり、操作を実行した時間を調べる方法はありますか?
私が見つけやすいのはSPI_GETUIEFFECTSです。このようなエフェクトがまったく有効になっているかどうかがわかります。
有効になっている場合は、SPI_SETUIEFFECTSを使用して無効にすることもできます。しかし、それはむしろショットガンの方法です - どのようにそれらを復元しますか?おそらく最も気になるものを一時的に無効にする方がよいでしょう。
あなたが求めるものを行う方法がわかりませんが、アプリケーションのウィンドウを最小限に抑える代わりに、ShowWindow(SW_HIDE)を使用して非表示にすることをお勧めします。それはアニメーション効果の影響を受けませんので、かなり瞬時になるはずです。
デスクトップを前面に持っていく必要がありますか?