Redimensionner la Zone d'affichage des fenêtres du Bureau!

Partagez votre expérience de PureBasic avec les autres utilisateurs.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Redimensionner la Zone d'affichage des fenêtres du Bureau!

Message par nico »

Code : Tout sélectionner

;Nico
;Le 15/11/04
;PureBasic 3.92
;Changer la Zone d'affichage des fenêtres du Bureau et recadrer toutes 
;les Fenêtres sauf la sienne.

;Ce code utilise une procédure listant les Fenêtres écrite par le
;Soldat Inconnu

Global pvParam.RECT

Procedure Fenetres_Ouvertes()
  hWnd.l = FindWindow_( 0, 0 )
  While hWnd <> 0
    If GetWindowLong_(hWnd, #GWL_STYLE) & #WS_VISIBLE = #WS_VISIBLE ; pour lister que les fenêtres visibles
      If GetWindowLong_(hWnd, #GWL_EXSTYLE) & #WS_EX_TOOLWINDOW <> #WS_EX_TOOLWINDOW ; pour lister que les fenêtres qui ne sont pas des ToolWindow ou barre d'outils
        txt.s = Space(256)
        GetWindowText_(hWnd, txt, 256)
        If txt<> "Ma Fenêtre"
          If IsZoomed_(hWnd)
            SetWindowPos_(hWnd, 0, 0, pvParam\Top, pvParam\right, pvParam\bottom, #SWP_NOZORDER)
          Else
            GetwindowRect_(hWnd,lprect.RECT)
            SetWindowPos_(hWnd, 0, lprect\left+pvParam\left, lprect\Top+pvParam\Top, 0, 0, #SWP_NOZORDER | #SWP_NOSIZE) 
          EndIf 
        EndIf
      EndIf
    EndIf 
    hWnd = GetWindow_(hWnd, #GW_HWNDNEXT)
  Wend
EndProcedure


SystemParametersInfo_(#SPI_GETWORKAREA,#Null, @pvParam.RECT, 0)
Debug pvParam\left
Debug pvParam\Top
Debug pvParam\right
Debug pvParam\bottom


ExamineDesktops() 
Largeur = DesktopWidth(0)
 
If OpenWindow(0, 0, 0, Largeur,100, #PB_Window_BorderLess, "Ma Fenêtre")
  If CreateGadgetList(WindowID(0))
    ButtonGadget(0,200,20,100,20,"Quitter")
  EndIf 
  
  pvParam\Top=100
  SystemParametersInfo_(#SPI_SETWORKAREA, #Null, @pvParam, 0)
  Fenetres_Ouvertes()
  
  Repeat
    event=WaitWindowEvent()
    Select event 
      Case #PB_EventGadget 
        Select EventGadgetID() 
          Case 0
            Quit=1
        EndSelect
    EndSelect
    
  Until Quit=1
  
  pvParam\Top=0
  SystemParametersInfo_(#SPI_SETWORKAREA,#Null, @pvParam, 0)
  Fenetres_Ouvertes()
EndIf
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Mon sauveur !!!!!! Merci :D :D
Répondre