in etwa so:
Code: Alles auswählen
Procedure ThreadProc()
For i = 1 To 20
Delay(200)
SetWindowTitle(0, Str(i*5)+"%")
Next
PostMessage_(WindowID(0), #WM_USER+1, 0, 0)
ProcedureReturn #True
EndProcedure
If OpenWindow(0, 0, 0, 480, 360, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "0%")
ThreadID = CreateThread(@ThreadProc(), 0)
If ThreadID
Repeat
Select WaitWindowEvent()
Case #WM_USER+1
WaitThread(ThreadID)
CloseHandle_(ThreadID)
MessageRequester("TEST", "Thread finished successfully!", #MB_ICONINFORMATION)
ThreadID = #False
Case #PB_Event_CloseWindow
KillThread(ThreadID)
MessageRequester("TEST", "Thread aborted!", #MB_ICONERROR)
ThreadID = #False
EndSelect
Until ThreadID = #False
EndIf
EndIf
Endnco2k