Page 2 sur 2

Re: coller simulé

Publié : sam. 28/mars/2015 11:42
par falsam
@Marc56: De rien. Plaisir de partager :)

Re: coller simulé

Publié : sam. 28/mars/2015 18:35
par nico
Enfin, qqun m'a donné ce code qui me conviens :
Code:
res = keybd_event_(#VK_CONTROL,0,0,0) ;" Appuyer sur CTRL
res = keybd_event_(#VK_V,0,0,0) ;" Appuyer sur V
res = keybd_event_(#VK_V,0,2,0) ;" Relacher V
res = keybd_event_(#VK_CONTROL,0,2,0) ;" Relacher CTRL

Merci a tous pour vos reponses, je les testerais tous 8)
keybd_event_ est une API qu'il ne faut plus utiliser, j'aurais pu te donner un code beaucoup plus court avec l'api SendInput mais avec le code complet tu peux tout faire.

Re: coller simulé

Publié : dim. 29/mars/2015 4:34
par SPH
nico a écrit :keybd_event_ est une API qu'il ne faut plus utiliser, j'aurais pu te donner un code beaucoup plus court avec l'api SendInput mais avec le code complet tu peux tout faire.
Pourquoi ? Qu'est ce qui se passe avec cette instruction ?

Re: coller simulé

Publié : dim. 29/mars/2015 8:10
par Marc56
SPH a écrit :
nico a écrit :keybd_event_ est une API qu'il ne faut plus utiliser, j'aurais pu te donner un code beaucoup plus court avec l'api SendInput mais avec le code complet tu peux tout faire.
Pourquoi ? Qu'est ce qui se passe avec cette instruction ?
MS conseille de la remplacer par SendInput
(comme ce sont les mêmes prérequis (W2000 et +))
SendInput est sensé poser moins de problèmes sur les OS >= Vista si on en croit les forums de programmeurs

keybd_event function

Synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The keyboard driver's interrupt handler calls the keybd_event function.

Note This function has been superseded. Use SendInput instead.

https://msdn.microsoft.com/en-us/librar ... 85%29.aspx

Re: coller simulé

Publié : dim. 29/mars/2015 12:22
par nico
Sendinput n'est pas une nouvelle api qui apporte seulement des options supplémentaires, elle corrige un problème avec l'ancienne api Keybd_event. La fonction Sendinput s'exécute indépendamment de l'état des touches du clavier. Ce qui signifie que lorsque tu exécutes cette fonction, que l'utilisateur utilise ou pas le clavier pendant l'exécution de la fonction, le résultat est garantie.

C'est facilement vérifiable en synthétisant du texte, de toute façon Keybd_event n'est pas capable de synthétiser toute la panoplie des caractères utilisables.

Les codes de simulation des touches de contrôle et de texte de l' api SendInput sont présent sur le forum.