Réduire toutes les fenêtres ouvertes

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Réduire toutes les fenêtres ouvertes

Message par Le Soldat Inconnu »

vous voulez voir le bureau pour faire un printscrenn ou autre et bien voilà le code qu'il vous fallait.

Code : Tout sélectionner

Procedure ShowDesktop()
  hWnd.l = FindWindow_( 0, 0 )
  While hWnd <> 0
    If GetwindowLong_(Hwnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE
      If GetwindowLong_(Hwnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW
        txt.s = Space(256)
        GetWindowText_(hwnd, txt, 256)
        If txt <> "" : ShowWindow_( hWnd, #SW_SHOWMINIMIZED ) : EndIf
      EndIf
    EndIf
    hWnd = GetWindow_(hWnd, #GW_HWNDNEXT)
  Wend
EndProcedure


ShowDesktop()
remarque : si vous remplacer le ShowWindow_( hWnd, #SW_SHOWMINIMIZED ) par un debug txt, vous obtiendrez le nom des applications ouvertes
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]