Descarregando DLL de todos os processos após desatar o gancho global da CBT
DeMSDN:
Você pode liberar um procedimento de gancho global usando UnhookWindowsHookEx,mas essa função não libera a DLL que contém o procedimento de gancho. Isso ocorre porque os procedimentos de gancho globais são chamados no contexto do processo de todos os aplicativos da área de trabalho, causando uma chamada implícita à função LoadLibrary para todos esses processos. Como uma chamada para a função FreeLibrary não pode ser feita para outro processo, não há como liberar a DLL. O sistema libera a DLL depois que todos os processos explicitamente vinculados à DLL foram encerrados ou chamados FreeLibrary e todos os processos chamados procedimento de gancho retomaram o processamento fora da DLL.
Então, o que estou procurando é um método para detectar quando o gancho é desengatado e, em seguida, chamarFreeLibrary
de todos os processos que foram viciados. Existem outras maneiras de causar o descarregamento instantâneo de uma DLL quando o gancho é descarregado?