EDIT: Désolé n'a pas remarqué que vous n'avez pas le code vous-même, mais seulement le titre. Je pense donc que les autres postes solution est ce que vous avez besoin
La gestion des événements dans les applications win32 se fait via une procédure de fenêtres dite qui est une fonction de rappel avec la signature suivante:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
Ce rappel est appelé par Windows chaque fois qu'il y a un message pour les fenêtres qui sont enregistrées avec cette fonction de rappel. L'un des premiers messages envoyés à une nouvelle fenêtre est le message WM_CREATE.
Si vous créez vos fenêtres «à la main» avec l'API win32, il devrait y avoir une fonction de rappel statique comme celle ci-dessous où vous pouvez filtrer le message WM_CREATE.
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CREATE:
// do what ever you want
return 0;
case default:
return DefWndProc(hwnd, message, wParam, lParam);
}
}
Si vous utilisez des boîtes de dialogue MFC (CDialog), vous pouvez remplacer la fonction CDialog::OnInitDialog()
.
modale ou non? dans votre processus? pourquoi ne sauriez-vous pas que le dialogue s'ouvrait avant l'ouverture? –
C'est un dialogue modal et pas dans mon processus. Je veux juste obtenir une notification après son ouverture. – anand
Je suis sûr que vous connaissez également la classe de la fenêtre. Lancez Spy ++ pour vérifier, et voyez si c'est aussi unique. L'utilisation de la classe de fenêtre est probablement beaucoup plus robuste. – IInspectable