状況:Windows関数でGetForeground()を使用して、現在のフォアグラウンドウィンドウを取得しようとしています。WinAPI、マウスを左下に置いて選択/アクティブウィンドウを取得しますか?
問題:LEFT MOUSE UPが送信されるまで、フォアグラウンドウィンドウはOS上で更新されませんが、LEFT MOUSE DOWNで取得する必要があります。私はそれが新しいフォアグラウンドウィンドウであると仮定します。なぜなら、マウスを下にして選択するとウィンドウを移動することができますが、そうではないからです。私は、現在アクティブなウィンドウを取得するために使用できるWindows関数内の他のメソッドを見つけることができないようです。 GetActiveWindow()を試みましたが、ハンドルは常に0です。
何の問題あなたが本当に解決しようとしていますか?たぶん、 'GetForegroundWindow'を呼び出すことは間違った解決策です。 – IInspectable
私は積極的に使用しているウィンドウのハンドルを取得したいと思います。たとえば、ウィンドウ上のファイルエクスプローラ(タイトルバー)にマウスを置くと、そのウィンドウが選択され、移動することができます。しかし、私はそれのハンドルIDを取得することはできません。私は、マウスを左下に置いたときにウィンドウが新しい前景ウィンドウとして設定されるので、GetForeground()という名前でハンドルを取得すると仮定します。しかし、私はしません。 –
質問を繰り返しただけで、最終的に達成しようとしていることは答えられませんでした。左マウスボタンダウンイベントで前景ウィンドウを知る必要があると思われるのはなぜですか?あなたはその情報で何をするつもりですか? – IInspectable