У меня есть программа, которая вызывает SetClipboardViewer при запуске, чтобы зарегистрироваться для уведомлений об изменениях буфера обмена. Во время выключения он вызовет ChangeClipboardChain , чтобы правильно удалить себя из цепочки.
Это все замечательно, если программа работает нормально. Но меня удивляет, что произойдет, если программа будет прервана, или я убью ее в отладчике, сбой или пользователь убьет процесс, потому что что-то пошло не так? Тогда очистки никогда не произойдет. Может ли это вызвать проблемы для системы?
В частности, я знаю, что Windows может без проблем удалить мой просмотрщик, потому что это дескриптор, и Windows может очистить все дескрипторы после завершения процесса, но это вызовет следующее значение в цепочке, на которое я держал ссылку, как-то заблудиться?