HWND est-il visible?

Ces utilisateurs sacrés et leurs fenêtres réduites.

En C #, si j’ai une fenêtre HWND, est-il possible de savoir si elle est visible sur le bureau?

La fonction GetWindowPlacement renvoie une structure WINDOWPLACEMENT qui comporte un champ showCmd :

Spécifie l’état d’affichage actuel de la fenêtre.

Les détails de cette opération se lisent comme si vous définissiez l’état de la fenêtre, mais je pense que c’est parce qu’ils ont été copiés d’ailleurs et n’ont pas été mis à jour.

Il y a la propriété Visible , mais qui vérifie l’indicateur visible, cela ne vous dit pas si la fenêtre est couverte par une autre fenêtre, ou hors de l’écran, etc. C’est beaucoup plus compliqué. Raymond Chen a cependant quelques astuces:

http://blogs.msdn.com/oldnewthing/archive/2003/09/02/54758.aspx

http://blogs.msdn.com/oldnewthing/archive/2003/08/29/54728.aspx

 bool isHwndVisible = Control.FromHandle(handle).Visible