Page 1 sur 1

probleme action clavier

Publié : mer. 07/juin/2017 12:25
par Zorro
c'est moi ou bien les API "keybd_event_() ne marchent plus avec Purebasic ???? (et Windows 10)

ici un exemple qui normalement simule l'appuis sur Ctrl+A donc devrai selectionner tout le texte
mais ça ne marche pas (plus )

Code : Tout sélectionner

If OpenWindow(0,100,100,400,400,"")
		EditorGadget(0,0,0,400,400)
		For i=1 to 10
				AddGadgetItem(0,-1, "PureBasic")
		Next i
		Repeat
		Compteur=Compteur+1
			Event =WaitWindowEvent(2)
		Until Compteur=2000
EndIf
debug "action clavier ne marche pas !!"
		keybd_event_ ( #VK_CONTROL ,0,0,0)		; 
		keybd_event_ ( #VK_A ,0,0,0)
		delay(50)
		keybd_event_ ( #VK_CONTROL ,0,2,0)
		keybd_event_ ( #VK_A ,0,2,0)
		; 
		Delay(2000)
; Epb


Re: probleme action clavier

Publié : mer. 07/juin/2017 12:35
par falsam
ça fonctionne avec une boucle événementielle et surtout avec un focus dans l'editeur.

Code : Tout sélectionner

Declare Start()
Declare Exit()

Start()

Procedure Start()
  OpenWindow(0, 0, 0, 400, 400, "Test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget(0,0,0,400,400)
  
  For i=1 To 10
    AddGadgetItem(0,-1, "PureBasic")
  Next i
  
  SetActiveGadget(0)
  
  keybd_event_ ( #VK_CONTROL ,0,0,0)      ; 
  keybd_event_ ( #VK_A ,0,0,0)
  Delay(50)
  keybd_event_ ( #VK_CONTROL ,0,2,0)
  keybd_event_ ( #VK_A ,0,2,0)
  
  ;Triggers
  BindEvent(#PB_Event_CloseWindow, @Exit())
  
  Repeat : WaitWindowEvent() : ForEver
EndProcedure

Procedure Exit()  
  End
EndProcedure

Re: probleme action clavier

Publié : mer. 07/juin/2017 12:47
par Zorro
ha ok ok

il me semblait que c'etait plus permissif que ça avant

bon , Merci :)