フォロー

Windowsのアプリがエラー出てるかどうか判定、.NETの場合はwin32apiのIsWindowEnabled()使ってWS_DISABLED状態であるか調べれば、アプリケーションエラーのダイアログが出てるかわかるっぽい><
(言い方を変えると、つまり勝手にWS_DISABLEDにしてるっぽい)
もっと低レベルのエラー出してシステムに怒られてる場合(たとえばメモリ保護違反とか)は、それでは検出出来ないっぽい><

もしかしてこれだと単にモーダルのダイアログを出してるか検出してるだけって事になる?><;

通常のモーダルダイアログを出してる時との識別は、(そのプロセスの)ForegroundなウィンドウをGetParent()して親ウィンドウがあれば普通のモーダルダイアログで、親ウィンドウが無いのであればアプリケーションエラーダイアログって判断してすればよほど変な事して無い限り大丈夫っぽさ><

システム側がダイアログ出すアプリケーションエラーであればシステムのイベントログに記録されるので、System.Diagnostics.EventLogでEntryWrittenイベントで検出すればいいっぽい><(アプリケーションエラーの取得だけなら管理者権限不要っぽい><)
docs.microsoft.com/en-us/dotne
これ参考にしてイベントでe.Entry.ReplacementStringsの中身見るだけで出来た><

ログインして会話に参加
:realtek:

思考の /dev/null