Для конкретной программы, такой как Internet Explorer, это вполне разумно (IE включает в себя хуки для вызова вашего кода при правильных обстоятельствах). Однако для большинства программ это невозможно - они просто не генерируют никакого «события», которое вы можете перехватить и «уничтожить».
Короче говоря, для того, чтобы с этим справиться, вам почти наверняка потребуется справиться с ситуацией на индивидуальной основе, написать код, специфичный для каждого приложения, с которым вы хотите иметь дело - и знать что любое другое приложение и даже более новые версии приложений, с которыми вы работали, вероятно, сломают то, что вы пытаетесь сделать.