Code : Tout sélectionner
RunProgram("play.bat", "", "", 1 | 2)"
a son retour dans mon programme il me fait une erreur a cette ligne
Code : Tout sélectionner
StartDrawing(ScreenOutput())
Code : Tout sélectionner
RunProgram("play.bat", "", "", 1 | 2)"
Code : Tout sélectionner
StartDrawing(ScreenOutput())
Code : Tout sélectionner
#Window = 0
#Width = 640
#Height = 480
#Mode_initSp = 0 ;
;- Init DirectX
If InitSprite() = 0 Or InitSprite3D() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitSound() = 0
MessageRequester("Erreur", "Impossible d'initialiser DirectX", 0)
CloseWindow(#Window) : End
EndIf
If #Mode_initSp = 0 Or #Mode_initSp = 1
res = OpenWindow(#Window, 0, 0, #Width, #Height, #PB_Window_TitleBar | #PB_Window_ScreenCentered, "Arcadthy")
OpenWindowedScreen(res, 0, 0, #Width, #Height, 0, 0, 0)
Else
OpenScreen( #Width, #Height, 16, "Arcadthy" + ver$ )
EndIf
Repeat ; Jeu
ClearScreen(0, 0, 0)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_space)
RunProgram("play.bat", "", "", 1)
EndIf
StartDrawing(ScreenOutput())
DrawingMode(4)
Box(10, 10, 200, 200, RGB(50, 50, 50))
StopDrawing()
FlipBuffers(0)
If #Mode_initSp = 0 Or #Mode_initSp = 1
While WindowEvent() : Wend ; evite le plantage clic gauche
EndIf
Until KeyboardPushed(#PB_Key_Escape)
Code : Tout sélectionner
Usebuffer(-1)
Code : Tout sélectionner
RunProgram("play.bat", "", "", 1)
mais d'après cette même doc, il est dit (ce que je comprend comme son contraire)1: Attend que le programme lancé se termine.
Peut-être que Mame n'est pas fermé avant que tu n'écrive (?) et ça pourrait entraîner des problèmes (?).Lance un programme externe sans suspendre l'exécution du programme en cours (exécution asynchrone).
Code : Tout sélectionner
ProcessState = #STILL_ACTIVE
Repeat
GetExitCodeProcess_(proc\hProcess, @ProcessState.l)
Until ProcessState <> #STILL_ACTIVE
Code : Tout sélectionner
StartDrawing(ScreenOutput())
DrawingMode(4)
Box(10, 10, 200, 200, RGB(50, 50, 50))
StopDrawing()
Code : Tout sélectionner
ScreenOutput=ScreenOutput()
If ScreenOutput And StartDrawing(ScreenOutput)
DrawingMode(4)
Box(10, 10, 200, 200, RGB(50, 50, 50))
StopDrawing()
EndIf
Là tu as dû t'embrouiller quelquepart...lorsque j'ouvre de nouveau l'ecran il rest en mode fenêtré .......
Code : Tout sélectionner
#ProgramToRun = "play.bat"
#Window = 0
#Width = 640
#Height = 480
#Mode_initSp = 0 ;
;- Init DirectX
If InitSprite() = 0 Or InitSprite3D() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitSound() = 0
MessageRequester("Erreur", "Impossible d'initialiser DirectX", 0)
CloseWindow(#Window) : End
EndIf
If #Mode_initSp = 0 Or #Mode_initSp = 1
res = OpenWindow(#Window, 0, 0, #Width, #Height, #PB_Window_TitleBar | #PB_Window_ScreenCentered, "Arcadthy")
OpenWindowedScreen(res, 0, 0, #Width, #Height, 0, 0, 0)
Else
OpenScreen( #Width, #Height, 16, "Arcadthy" + ver$ )
EndIf
Repeat ; Jeu
ClearScreen(0, 0, 0)
ExamineKeyboard()
If KeyboardReleased(#PB_Key_Space)
CloseScreen()
RunProgram(#ProgramToRun, "", "", 1)
If Flipaillon&1
OpenWindowedScreen(res, 0, 0, #Width, #Height, 0, 0, 0)
Else
OpenScreen( #Width, #Height, 16, "Arcadthy" + ver$ )
EndIf
Flipaillon+1
EndIf
scrop=ScreenOutput()
If scrop And StartDrawing(scrop)
DrawingMode(4)
Box(10, 10, 200, 200, RGB(50, 50, 50))
StopDrawing()
EndIf
FlipBuffers(0)
If #Mode_initSp = 0 Or #Mode_initSp = 1
While WindowEvent() : Wend ; evite le plantage clic gauche
EndIf
Until KeyboardPushed(#PB_Key_Escape)