私のアプリケーションは約5分間正常に実行され、次にSystem.ArgumentException
下のスクリーンショットに示すようにランダムにスローされます。
ここでの大きな問題は、両方の引数が実際に正しいように見え、約5分間完全に正常に動作することです。私のアプリケーションは、別のスレッドで画面のスナップショットを撮り続けます。
次のコードは画面のスナップショットを取得System.ArgumentException
し、このスニペットで発生します(スクリーンショットと同じ)。
Bitmap SNew = new Bitmap(NewRes.Width, NewRes.Height);
using (Graphics g = Graphics.FromImage(SNew))
g.CopyFromScreen(0, 0, 0, 0, new Size(NewRes.Width, NewRes.Height));
同じ例外がCopyFromScreen
メソッドでも発生する可能性がありますが、同じように見えるNewRes
値が同じです(私のスニペットの最初の行では発生していません)。
An unhandled exception of type 'System.ArgumentException' occurred in System.Drawing.dll
このコードをtry { } catch { }
句に入れると、それも正常に機能します(例外がログに約10回ポップアップした後、例外は発生しなくなります)。もちろん、これは優れた解決策ではありません。アプリケーションを再起動するまでスクリーンショットをまったく撮らずに、その例外の範囲内で永遠にハングし続けることがあります。
なぜ引数が無効なのか、何が原因なのかわかりません。何か案は?