Attivazione di una DLL iniettata in Windows
Domanda
Attualmente sto usando SetWindowsHookEx per iniettare la mia DLL in un altro processo, tuttavia non viene caricata immediatamente. Ho notato che se faccio clic manualmente sulla finestra, verrà caricata quindi, quindi immagino che sia in attesa di un tipo di messaggio per avviare l'attivazione? Attualmente lo sto attivando con un
SetForegroundWindow(otherAppHwnd);
SetForegroundWindow(myAppHwnd);
Ma questo sembra un trucco, e non sempre funziona (ovvero l'altro AppHwnd è minimizzato sulla barra delle applicazioni.
Qualsiasi puntatore sarebbe fantastico!
Modifica : è un hook CBT
Soluzione 2
Sembra che ciò non sia possibile.
Quindi, invece di forzarmi, ho deciso di limitarmi e rendere il mio design in grado di gestirlo.
Altri suggerimenti
L'ho usato con successo:
SendMessage(otherAppHwnd, WM_NULL, 0, 0);
per ottenere ciò che desideri, ma solo con hook di livello inferiore come WH_GETMESSAGE, mai un hook CBT. Potrebbe funzionare 8 -)