Simulation de touches

hardouz Messages postés 196 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 26 novembre 2009 - 5 juin 2007 à 14:12
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 6 juin 2007 à 10:27
Pour simuler une touche du clavier en ecrie
KeyBd_Event(VK_Touche,0,0,0); //enfoncé
KeyBd_Event(VK_Touche,0,1,0);  //relacher
quelq'un peut m'éxpliquer les 0 et les 1 ???? a quoi sert ? pour quoi il nya pas un seul 0 et 1 seul 1 ???

5 réponses

Utilisateur anonyme
5 juin 2007 à 14:52
Salut,

Qui c'est qui va se faire engueuler par Francky car il a pas cherché  : ? C'est Hardouz, le roi du keylogger  dit aussi le roi de la boulette .

Mon petit poussin, si au lieu de poser cette question, forte intéressante je te l'accorde, tu avais pris un tout petit peu la peine de chercher, mais vraiment un chouilla, tu aurais eu ta réponse avec une rapidité fulgurante : un truc tu en restes sur les fesses. Allez je t'ai assez chambré : la réponse est ici.

Par contre on n'a rien contre un ptit bonjour et un ptit merci 
0
f0xi Messages postés 4204 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 34
5 juin 2007 à 14:56
// Simulate a key press
keybd_event( VK_NUMLOCK,
$45,
KEYEVENTF_EXTENDEDKEY or 0,
0 );

// Simulate a key release
keybd_event( VK_NUMLOCK,
$45,
KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,
0);




http://msdn2.microsoft.com/en-us/library/ms646304.aspx




<hr size="2" width="100%" />
Croc (click me)
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
5 juin 2007 à 16:33
Salut,

Petit complément a l'éxemple donné par  F0xi :

  KEYEVENTF_EXTENDEDKEY = 1;
  KEYEVENTF_KEYUP = 2;

Donc déjà ton code de départ n'était pas juste

<hr size="2" width="100%" />

@F0xi :

aurais-tu une explication à ceci

Pour le deuxième argument " bScan " de la fonction "keybd_event", dans mon aide (TurboDelphi)
il est dit "This parameter is not used"

Extrait de l'aide de TurboDelphi

Windows NT/2000/XP:This function has been superseded. Use <mshelp:link tabindex ="0" xmlns:mshelp= "http://msdn.microsoft.com/mshelp" keywords="_win32_SendInput_cpp">SendInput</mshelp:link> instead.

Syntax

VOID keybd_event(      

    BYTE  bVk ,
    BYTE bScan,
    DWORD dwFlags,
    PTR dwExtraInfo
);

Parameters

* bVk : [in] Specifies a virtual-key code. The code must be a value in the range 1
to 254. For a complete list, see <mshelp:link tabindex =\"0\" xmlns:mshelp= \"http://msdn.microsoft.com/mshelp\" keywords=\"_win32_Virtual_Key_Codes_cpp\">Virtual-Key Codes</mshelp:link>.
* bScan : This parameter is not used. * dwFlags : <dd>[in] Specifies various aspects of function operation. This parameter can be
one or more of the following values.
<dl> * : KEYEVENTF_EXTENDEDKEYIf specified, the scan code was preceded by a prefix byte having the value
0xE0 (224).
* : KEYEVENTF_KEYUPIf specified, the key is being released. If not specified, the key is being
depressed.
</dd><dt> dwExtraInfo </dt><dd>[in] Specifies an additional value associated with the key stroke.
</dd></dl>Return Value

This function has no return value.

Et en plus ... j'ai le même exemple que celui qui est sur le lien que tu donnes

Et pour finir ... j'ai testé ceci et ça fonctionne :

keybd_event(VK_NUMLOCK, 0, 0, 0);
keybd_event(VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0);

Par contre, il est conseillé d'utiliser SendInput à la place mais ça ne change rien au "mystère" puisqu'il utilise le même type d'info en entré sous forme de tag.

C'est quand même un peut déroutant ce type de contradiction ... non
 
@+
Cirec

<hr size ="2" />
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 juin 2007 à 10:05
Salut,

L'aide de la msdn est un peu plus explicative sur le sujet.

(Vous avez peut être eu cette page plutôt).

En tout cas : should not use et quelques lignes plus loin, ils l'utilisent pour le printscreen... C'est pas limpide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
6 juin 2007 à 10:27
Apparement, le scan code, c'est plus hardware,et dépend du clavier, alors que le virtual key c'est plus ce qui est récupéré en soft, dans les messages WM_KEYDOWN par exemple. Et après le WM_KEYDOWN, c'est traduit en caractère...
0
Rejoignez-nous