Что вы подразумеваете под "скриншот ошибки"? Вы имеете в виду скриншот диалогового окна необработанного исключения? Что вы подразумеваете под "регистрацией ошибок"? Вы имеете в виду сохранение информации о необработанном исключении в каком-либо месте на диске или передачу указанной информации в базу данных SQL Server, или отправку указанной информации в удаленное местоположение по электронной почте или по другому протоколу?
Если ответ на эти вопросы положительный, я не вижу, какое значение добавляет изображение, которое вы уже не можете получить из исключения. Вы можете обрабатывать и регистрировать эту информацию, используя необработанный обработчик исключений.
Настройка обработчика:
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Обработчик:
static void CurrentDomain_UnhandledException(
object sender,
UnhandledExceptionEventArgs e
) {
var exception = e.ExceptionObject as Exception;
// log the exception
}