2

別のウィンドウ (ウィンドウ クライアント領域) に相対的なマウス座標を取得したいのですが、ウィンドウはアプリケーションの一部ではありません。

Win32 API と dll のインポートを詳しく調べずにこれを行うことをお勧めしますが、それが可能かどうかはわかりません。

基本的な考え方は次のとおりです。私の C# WPF アプリはユーザー フォーカスを持ち、ユーザーがホット キー (CTRL + C) を押すと、アプリは以前に指定されたウィンドウのクライアント領域に関連する座標を取得します。これは、社内開発支援のために作成する必要がある簡単なアプリです。

4

1 に答える 1

0

プロセス名/ID があれば、 を呼び出してハンドルを取得できますSystem.Diagnostics.Process.MainWindowHandle。ハンドルを取得したら、他のウィンドウの位置に対するSystem.Windows.Forms.Control.FromHandle(handle).PointToClient(p)スクリーン ポイントの座標を取得するために使用します。p

于 2012-11-07T18:05:17.870 に答える