エアロスナップ機能を使用してウィンドウのサイズが変更されたかどうかを確認するにはどうすればよいですか?GetWindowPlacement
関数は、最新の「復元された」ウィンドウサイズを提供します。私はそれを次のように使用します:
WINDOWPLACEMENT wp = {};
wp.length = sizeof(WINDOWPLACEMENT);
::GetWindowPlacement( hWnd, &wp );
たとえば、wp.rcNormalPosition = {top=208 bottom=520 left=152 right=510}
あるべきときに、
を与えます{top=0 bottom=1920 left=152 right=510}
。
それは私のせいでしたGetWindowRect
まったく同じ誤った結果が得られることに注意してください。GetWindowRect
、正しい結果を与えます。
プログラムの終了時にウィンドウの状態を保存し、開始時にロードする必要があるため、ウィンドウがどのように配置されているかを知る必要があります。実際のウィンドウ座標を確認するにはどうすればよいですか?
さて、私は(そして他のいくつかの標準的なWindowsコンポーネント)でいくつかのテストを行いました、notepad.exe
そしてそれは同じ方法でその状態を保存します—それが「スナップ」されたかどうかを覚えていません。したがって、これはWindowsプログラムの意図された動作であると思います。