Привет есть ли способ написать регистратор может регистрировать исключение, произошедшее в другой программе, написанной также на c #?
Да, но это нелегко.
Если вы запускаете приложение в AppDomain из вашего текущего приложения, это относительно просто.То, что вы делаете, относится к этому домену, вы присоединяете к обработчику событий UnhandledException и таким образом регистрируете исключения.
AppDomain
UnhandledException
Однако я подозреваю, что приложение C #, на которое вы ссылаетесь, выполняется в другом процессе.В этом случае вы по-прежнему используете примерно такой же механизм, но на самом деле намного сложнее получить AppDomain.Это включает в себя управляемый C ++ и выполнение потока в удаленном домене.Вы можете посмотреть Могу ли я добавить поток в удаленный домен приложения из C # и http://social.msdn.microsoft.com/Forums/en/winforms/thread/e4cfa5dd-e254-4088-8754-09dc40d4fb5b для получения дополнительной информации об этом.
Исключением является механизм, который существует строго в процессе, поэтому нет.
В случае исключения вы можете отправить сведения об исключении в другое приложение, которое отвечает за регистрацию исключения.Вы можете использовать один из множества механизмов удаленного вызова процедур, например веб-службы или Windows Communication Foundation (WCF).
Вот хороший пример Расширения обработки ошибок в WCF .