Salut
Comment envoyer la touche "Imp écr/Syst" en VisualBasic6 ; VB6 ; VB ; Programmation Microsoft :
QUAND SENDKEYS NE MARCHE PAS (SIMULATION D'APPUI DE TOUCHES) ; VISUAL BASIC :
Sendkeys permet de simuler l'appuie de touches du clavier, cela peut être très utile si on fait intervenir des applications extérieures. C'est très simple il suffit d'envoyer la séquence des touches dont on a besoin pour la manipulation.
Mes desfois ça bug, les touches n'arrive pas dans le programme, surtout ceux du genre fortran d'avant guerre. Alors voilà l'astuce.
On met l'instruction désirée dans le presse papier, ensuite on se sert de Sendkeys pour envoyer l'instruction pour coller le contenu du presse papier, généralement Alt+Espace+E+O ce qui ce traduit par "% eo".
Etrangement certains programmes se comporte bizarrement avec sendkeys, seul des ordres simples passe, comme notre séquence qui nous servira pour toutes les touches.
Source =>
http://www.vbfrance.com/codes/QUAND-SENDKEYS-NE-MARCHE-PAS-SIMULATION-APPUI-TOUCHES_2862.aspx
*********************** :
Public Declare Sub Sleep Lib "kernel32" (ByVal dwTime As Long)
' Sleep sert pour la synchronisation de la macro et du programme
--------------------------------------------------------------------------------------------
Sub ExeTS()
Dim MyAppID
MyAppID = Shell("C:\monprogramme.exe", vbNormalFocus)
Set MyDataObject = New DataObject 'création d'un DataObject
MyDataObject.SetText Chr(13) 'insertion de la touche "Entrée" dans le DataObject
MyDataObject.PutInClipboard 'transvasement du DataObject au Presse Papier
SendKeys "% eo", True 'collage du contenue du presse papier
Sleep 1000 'attente d'execution du programme
MyDataObject.SetText ("aaaaa") 'saisie du mot de passe
MyDataObject.PutInClipboard
SendKeys Chr(8), True 'effacement des caractères présents
SendKeys "% eo", True
Sleep 1000
End Sub
*********************** .
Sujet "[VB/VBA] commande sendkey", sur le forum ccm, commentcamarche.net :
http://www.commentcamarche.net/forum/affich-2041348-vb-vba-commande-sendkey
merci .
à+