高さが2000で、実際のデスクトップの高さが約1000のwpfウィンドウがあります。明らかに、ウィンドウの約半分が画面から外れています。ウィンドウが画面の下に広がっていても、マウスはその領域まで下に移動しません。私はこのコンテンツを画面外に置きたいと思っています。また、マウスがその位置の要素の上に置かれている場合、マウスがその上を移動して要素をクリックできるようにしたいと考えています。一部のコンテンツは絶対に画面からはみ出さなければならないため、画面の解像度を変更したくありません。これについてどうすればよいかわかりません。
4 に答える
可能だと思います。このプログラムにより、セカンダリコンピューターを追加のモニターとして使用できるようになります。マウスカーソルが置かれている座標を知らせることができるいくつかのプログラムがあります。たとえば、AutoItはそれを簡単に実行します。
autoitをインストールすると、マウスを置いた座標を知らせるこのユーティリティが付属しています。スクリーンキャプチャを取得したとき、マウスは表示されませんが、マウスが配置されていた場所に青い点を描画します。710、1464の座標に注意してください。現在、画面の解像度は1200 * 1920です(モニターが回転しています)。したがって、Autoitを使用すると、次のような操作を行うことでマウスカーソルを配置できます。
そのautoitプログラムを実行すると、マウスがその場所に移動します。この質問への答えは正しいようです。マウスを1200以上右に動かすことができないからです。つまり、MouseMove(2500,800)を実行すると、マウスが1200,800に移動します。ここで興味深いのは、どうしてマウスを(2500,800)に移動できるのかということです。このプログラムを使用する場合言い換えると、実行MouseMove(2500,800)
はAutoitで機能し、マウスは実際に他のコンピューターに移動します(maxivistaが実行されている必要があります)。maxivistaは、画面の解像度の外にマウスを移動する方法がある可能性があることを示しています。
MaxiVistaのスクリーン ショットを見ると、デバイス マネージャーを示すスクリーン ショットが見つかります。
デバイス マネージャー http://www.maxivista.com/pics/screenshots/vista_devicemanager_en.gif
ご覧のとおり、独自のディスプレイ サイズを提供する仮想ディスプレイ アダプターを作成しただけです。したがって、ウィンドウは、たとえば 2560x1600 などの使用可能なサイズについて通知され、すべてのウィンドウとマウスに対してこれらの境界が許可されます。ここで、この仮想画面の右側の部分を現在の実際のディスプレイ アダプターに転送して、右側の部分が各物理デバイスに表示されるようにするのは、ディスプレイ ドライバーの役割です。