Произошло нечто похожее на проходе, назовите два или более dll, пытающихся переопределить оконный процесс. Обычно, как часть завершения процесса или выгрузки плагина, они пытаются восстановить «oldWndProc», но, поскольку они не знают друг друга, они могут в конечном итоге переопределить хороший указатель недопустимым указателем, а затем произойдет сбой.
Если у вас есть доступ к исходному коду, лучшее, что вы можете сделать, - это иметь только одну dll, ответственную за перехват оконного процесса, а затем остальные могут реализовать своего рода делегат, поэтому при развертывании его можно установить в null, и перехватывающая dll может проверить, и если она пуста, пропустить вызов.
Если у вас нет доступа к исходному коду, возможно, из-за того, что вы пытаетесь заставить вашу dll работать с уже очень популярным (и ошибочным) плагином, вы можете попытаться найти повторяемую процедуру, чтобы вы могли обнаружить этот случай о повреждении до того, как это произойдет (проверьте некоторые сообщения перед сбоем), и обойдите его с помощью специального сообщения, уведомляющего ваш wndproc.