@Falko:
Ich habe hier momentan Windows 7 x64 zur Verfügung (mit PB 5.20 beta 5).
Hier wird Notepad schon aufgerufen, bevor ich "E" (oder sonst eine Taste) gedrückt habe.
Das heißt auch: Es wird dauernd immer wieder aufgerufen.
Ich glaube, Du verwendest GetAsyncKeyState_() nicht ganz richtig.
Folgendes funktioniert hier einwandfrei:
Code: Alles auswählen
Macro IsAsyncKeyDown (_VK_)
Bool((GetAsyncKeyState_(_VK_) & $8000) = $8000)
EndMacro
If OpenWindow(0, 0, 0, 300, 300, "2DDrawing Beispiel", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateImage(0, 300, 300) And StartDrawing(ImageOutput(0))
Box(0, 0, 300, 300, RGB(255, 255, 255))
Circle(150, 150, 125 ,$00FF00)
Circle(150, 150, 120 ,$FF0000)
LineXY(30, 150, 270, 150, $FFFFFF)
FillArea(150, 155, -1, $0000FF) ; Ersetze -1 durch $00FF00, und vergleiche das Ergebnis
StopDrawing()
ImageGadget(0, 0, 0, 300, 300, ImageID(0))
EndIf
Repeat
Event = WaitWindowEvent()
If IsAsyncKeyDown(#VK_E)
RunProgram("NotePad.exe","","",#PB_Program_Wait)
EndIf
Until Event = #PB_Event_CloseWindow
EndIf