2

ハンドルを取得したときにウィンドウがどの画面に表示されているかを検出したい。Win APIで関数を見つけましたSetWindowPos()が、残念ながら、GetWindowPos()だけではありませんGetWindowRect()が、これはいくつかの奇妙な値になります。

私は2つのデバイスを手に入れました。1つは1280x1024、もう1つは(プライマリ)1680x1050です。最小化されたFirefoxの位置を取得したい場合、どちらの画面でもb / l / r / t -31973 / -32000 / -31840/-32000を取得します。

それが私の左または右の画面であることをどうやって知ることができますか?

4

2 に答える 2

2

GetWindowPlacementウィンドウが復元された場合に使用する長方形を見つけるために、を試してください。

于 2012-07-11T21:33:24.720 に答える
2

WinAPIには、MonitorFromRectおそらく必要な機能があります。C#に相当するものがあるかどうかはわかりませんが、相互運用機能を介して呼び出すことができます。

ウィンドウは両方のモニターに表示される場合と、どちらにも表示されない場合があることに注意してください。APIには、そのためのフラグがありますMONITOR_DEFAULTTONEAREST

于 2012-07-11T21:47:15.770 に答える