次のコードを使用して、フォームを一番上に表示し、スクリーンショットを撮り、保存してから最小化しようとしています。
this.WindowState = FormWindowState.Maximized;
this.FormBorderStyle = FormBorderStyle.None;
this.TopMost = true;
Application.DoEvents();
string keys = "%" + "{PrtSc}";
SendKeys.SendWait(keys);
Clipboard.GetImage().Save(imagePath, ImageFormat.Jpeg);
this.FormBorderStyle = FormBorderStyle.Sizable;
this.WindowState = FormWindowState.Minimized;
this.TopMost = false;
コードは常にウィンドウを一番上にしてスクリーンショットを撮ると思いました。ただし、100% は機能していないことに気付きました。マシンが遅すぎるため、ウィンドウを最前面に表示するコードを実行すると、ウィンドウ全体が表示されません。トップに表示されない場合があるため、写真にはユーザー アクティビティが含まれています。
それを完全に一番上に持ってきて、完了するまで待ってから、スクリーンショットを撮って元に戻すにはどうすればよいですか。
申込用紙は1枚となりますのでご注意ください。