私のプロジェクトでは、Winform を別のプロセスのウィンドウ (この場合は "Client" というタイトルのブラウザーのページ) にバインドする必要があるため、そのウィンドウでのみ移動できます。これを行うための最良かつ安定した方法は何でしょうか?
タイトルでウィンドウプロセスを取得しようとしましたが、成功しました。getWindowRect メソッドを使用してウィンドウ rect を取得しましたが、フォームがフォームに正しくバインドされないため、これは実際には機能していないようです。
IntPtr hWnd = FindWindow(null, this.windowTitle);
RECT rect1;
GetWindowRect(hWnd, out rect1);
RECT rect2;
GetWindowRect(this.Handle, out rect2);
if (!(rect2.Y >= rect1.Y && rect2.Y + rect2.Height <= rect1.Y + rect1.Height && rect2.X >= rect1.X && rect2.X + rect2.Width <= (rect1.X + rect1.Width) - (rect1.Width / 3)))
{
Console.WriteLine("You can't leave the window with this form! Naughty!");
}