私のプログラムでは、30分ごとにスクリーンショットを撮る方法が必要です。私はグーグルでこの方法を思いつきました:
public static Bitmap CaptureScreen()
{
Bitmap BMP = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height,
System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics GFX = Graphics.FromImage(BMP);
GFX.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Seen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
return BMP;
}
メソッドの最初の 200 回程度の使用では、すべて正常に機能します。次に、関数が でクラッシュしCopyFromScreen
、無効な引数の例外が発生したと表示されます。パラメータが変更されないため、それがなぜなのか少し混乱しています。
関数自体にバグがあるだけでしょうか?もしそうなら、スクリーンショットを撮るための代替手段はありますか?