Ativar um injetados DLL no Windows
Pergunta
Atualmente estou usando SetWindowsHookEx para injetar minha DLL em outro processo, no entanto, não são carregados imediatamente. Percebi que se eu clicar manualmente a janela, ele vai ficar carregado, em seguida, então eu estou supondo que está esperando por algum tipo de mensagem para obter a ativação rolando? Atualmente estou recebendo-activado com um
SetForegroundWindow(otherAppHwnd);
SetForegroundWindow(myAppHwnd);
Mas este parece ser um hack, e nem sempre funciona (ou seja, o otherAppHwnd é minimizado na barra de tarefas.
Os ponteiros seria ótimo!
Editar : É um gancho CBT
Solução 2
Parece que isso não é possível.
Então, ao invés de forçar minha maneira de contornar isso, eu decidi apenas rolo com ele e fazer meu projeto ser capaz de lidar com isso.
Outras dicas
Eu usei com sucesso esta:
SendMessage(otherAppHwnd, WM_NULL, 0, 0);
para conseguir o que deseja, mas apenas com ganchos de nível inferior como WH_GETMESSAGE, nunca um gancho CBT. Pode funcionar. 8 -)