Code: Select all
Enumeration
#Message_Screen
EndEnumeration
Procedure HookProc(nCode, wParam, lParam)
Protected *pcbt.CBT_CREATEWND
Protected *pcs.CREATESTRUCT
Protected Cn.s
Select nCode
Case #HCBT_CREATEWND
*pcbt.CBT_CREATEWND = lParam
*pcs.CREATESTRUCT = *pcbt\lpcs
Cn.s = Space(#MAX_PATH)
GetClassName_(wParam, @Cn.s, #MAX_PATH - 1)
If Cn.s = "#32770"
*pcs\x = WindowX(#Message_Screen) + WindowWidth(#Message_Screen) / 2 - *pcs\cx / 2
*pcs\y = WindowY(#Message_Screen) + WindowHeight(#Message_Screen) / 2 - *pcs\cy / 2
EndIf
EndSelect
ProcedureReturn CallNextHookEx_(Hook, nCode, wParam, lParam)
EndProcedure
Procedure Messagerequester_WC(Title.s, Body.s, Flags.l = #Null)
Hook.i = SetWindowsHookEx_(#WH_CBT, @HookProc(), #Null, GetCurrentThreadId_())
Result1.i = MessageRequester(Title.s, Body.s, Flags)
UnhookWindowsHookEx_(Hook.i)
ProcedureReturn Result1.i
EndProcedure
OpenWindow(#Message_Screen, 0, 0, 562, 449, #NULL$, #PB_Window_Invisible | #PB_Window_ScreenCentered)
MessageTitel.s = "xxxxxxx" + " " + "2017" + " " + "-" + " " + Chr(34) + "Updates" + Chr(34) + "."
MessageTekst.s = #CRLF$ + "Information" + #CRLF$ + #CRLF$
MessageTekst.s + #CRLF$ + "Update Informatie" + " " + "Update Informatie" + ":" + #CRLF$
MessageTekst.s + "Test line"
Result.i = MessageRequester_WC(Space(2) + MessageTitel.s, MessageTekst.s, #PB_MessageRequester_YesNo | #MB_ICONINFORMATION)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver