Dans cette version le texte du titre n'est pas sensible à la casse.
Elle renvoie 0 si aucune fenetre ne correspond ou le handle (hWindow) de la première fenêtre trouvée. (attention PB4 mais c'est convertible).
Code : Tout sélectionner
Procedure.l FindWindowEx(*hWnd,*Param)
bufLen.l = GetWindowTextLength_(*hWnd)
If bufLen
bufStr.s = Space(bufLen+1)
If GetWindowText_(*hWnd,@bufStr,bufLen+1)
If FindString(LCase(bufStr),PeekS(PeekL(*Param)),1)
PokeL(*Param+4,*hWnd) : ProcedureReturn #False
EndIf
EndIf
EndIf
ProcedureReturn #True
EndProcedure
Procedure.l FindWindow(text.s)
PokeL(@param.q,@text)
If EnumWindows_(@FindWindowEx(),@param) = 0
ProcedureReturn PeekL(@param+4)
EndIf
EndProcedure
hPureBasic = FindWindow("basic")
If hPureBasic
SendMessage_(hPureBasic,#WM_SYSCOMMAND,#SC_MINIMIZE,0)
Delay(500)
SendMessage_(hPureBasic,#WM_SYSCOMMAND,#SC_MAXIMIZE,0)
EndIf