coller simulé

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: coller simulé

Message par falsam »

@Marc56: De rien. Plaisir de partager :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: coller simulé

Message 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.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: coller simulé

Message 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 ?

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: coller simulé

Message 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
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: coller simulé

Message 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.
Répondre