Existe-t-il un cas où MessageBox peut renvoyer 0 autre que pas assez de mémoire? J'ai un cas où je suspecte le HWND que je passe à MessageBox n'est pas valide ou peut-être qu'il appartient à une fenêtre qui est en train d'être détruite.MessageBox renvoyant 0 si HWND est incorrect
Dans mon cas, le MessageBox n'est pas affiché et renvoie 0, mais il me semble avoir assez de mémoire disponible.
GetLastError aide. Il renvoie 1400 - ERROR_INVALID_WINDOW_HANDLE, ce qui est logique. Je suis encore un peu confus car :: IsWindow retourne TRUE sur le même handle – Tyler
Si la fenêtre est en train d'être détruite, alors IsWindow peut encore techniquement être vrai même si la fenêtre est partiellement détruite et donc pas utile pour votre usage . Avez-vous essayé IsWindowVisible? – jeffm
Les deux :: IsWindow et :: IsWindowVisible renvoient TRUE avant MessageBox et FALSE après MessageBox. Donc, ma conclusion est que MessageBox est en quelque sorte permettre à la fenêtre pour finir d'être détruit avant qu'il ne soit créé – Tyler