OS : windows
Cette lib permet des manipulations sur une fenêtre externe.
Elle offre la possibilité de la maximiser, minimiser, restaurer et de la fermer
Code source ci dessous
Lib+aide+source sur mon site : PureLib
Code : Tout sélectionner
; WinCommand For External Windows Manipulation
; By Ar-S / LDV MULTIMEDIA - 03/2010
; v1.0
; Compiled with PB4.41
; Exemples
ProcedureDLL.s WinCommand(ExternalWindowName$,NumCommand) ; Num commands : 1 2 3 4
hwnd = FindWindow_(0,ExternalWindowName$)
If hwnd=0
MessageRequester("Error","There is no window with the name "+ExternalWindowName$,$50)
Else
Delay(100)
If NumCommand=0
NumCommand=#SC_MINIMIZE
ElseIf NumCommand=1
NumCommand=#SC_MAXIMIZE
ElseIf NumCommand=2
NumCommand=#SC_RESTORE
ElseIf NumCommand=3
NumCommand=#SC_CLOSE
EndIf
Delay(100)
SendMessage_(hwnd,#WM_SYSCOMMAND, NumCommand,0)
EndIf
EndProcedure
; ;Example
; Enumeration
; #Window_0 : #BT_CloseWin : #BT_MIN : #BT_MAX : #BT_Restore : #BT_SIZE
; EndEnumeration
;
; ;Options :
; ; 0 = #SC_MINIMIZE
; ; 1 = #SC_MAXIMIZE
; ; 2 = #SC_RESTORE
; ; 3 = #SC_CLOSE
;
; Procedure OpenWindow_Window_0()
; If OpenWindow(#Window_0, 450, 200, 315, 130, "Manipulation de fenêtres eternes", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
; StickyWindow(#Window_0,1)
;
; ButtonGadget(#BT_MAX, 5, 5, 100, 30, "MAXIMIZE")
; ButtonGadget(#BT_MIN, 105, 5, 100, 30, "MINIMISE")
; ButtonGadget(#BT_Restore, 210, 5, 100, 30, "RESTORE")
; ButtonGadget(#BT_CloseWin, 5, 35, 100, 30, "CLOSE")
;
;
; ; ButtonGadget(#BT_SIZE, 105, 35, 100, 30, "BLOCK SIZE")
;
; EndIf
; EndProcedure
;
; ; Ouverture du Bloc Note
; RunProgram("C:\WINDOWS\system32\notepad.exe")
;
; OpenWindow_Window_0()
;
; ; On indique le nom de la fenêtre du bloc note
; Fenetreexterne$="Sans titre - Bloc-notes"
;
; Repeat
; Select WaitWindowEvent()
;
; Case #PB_Event_Gadget
; Select EventGadget()
; Case #BT_MIN
; WinCommand(Fenetreexterne$,0) ; 0 = #SC_MINIMIZE pour minimiser la fenêtre
; Case #BT_MAX
; WinCommand(Fenetreexterne$,1) ; 1 = #SC_MAXIMIZE pour maximiser la fenêtre
; Case #BT_Restore
; WinCommand(Fenetreexterne$,2) ; 2 = #SC_RESTORE pour restaurer la fenêtre
; Case #BT_CloseWin
; WinCommand(Fenetreexterne$,3) ; ; 3 = #SC_CLOSE pour fermer la fenêtre
;
; EndSelect
;
; Case #PB_Event_CloseWindow
; Select EventWindow()
; Case #Window_0
; CloseWindow(#Window_0)
; Break
; EndSelect
; EndSelect
; ForEver