1

Windows デスクトップ API に、アプリケーションが最小化された状態かどうかを知らせるシグナルまたはイベントはありますか? msdn のドキュメントを調べたところ、アプリケーションが既に最小化されており、最終的に最小化された状態にあるときではなく、アプリケーションが最小化されているときに呼び出す最小化イベントのみが見つかりました。

設定したウィンドウが最小化され、画面キャプチャの邪魔にならないことがわかっている場合は、別の操作をオフ (画面キャプチャ) に設定する必要があります。WM_SIZE メッセージを使用して、ウィンドウが最小化されていることを確認してから、画面キャプチャを開始します。私の問題は、ProcessWindowMessage コールバックを介して SIZE_MINIMIZED メッセージを受け取ったにもかかわらず、スクリーン キャプチャを取得したときにアプリケーション ウィンドウが閉じているのを確認できることです (つまり、ほとんどのアプリケーション ウィンドウで実行される最小化アニメーション)。アプリケーションが完全に最小化されており、デスクトップ全体のスクリーン キャプチャの邪魔にならないことを伝える何かが必要です。

ありがとう!

4

3 に答える 3

0

ここに記載されている解決策を試すことができます: アプリケーションが最小化されていることをどのように検出できますか?

~中略:

switch (message)
{
case WM_SYSCOMMAND:
    if ((wParam & 0xFFF0) == SC_MINIMIZE)
    {
        // shrink the application to the notification area
        // ...

        return 0;
    }
    break;
}

または、GetWindowPlacement 関数を試してください: https://msdn.microsoft.com/en-us/library/windows/desktop/ms633518(v=vs.85).aspx

~中略

指定されたウィンドウの表示状態と、復元、最小化、および最大化された位置を取得します。

于 2016-03-08T05:48:00.293 に答える