Redimensionner la Zone d'affichage des fenêtres du Bureau!
Publié : lun. 15/nov./2004 23:23
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