begin process at 2012 02 15 01:29:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

API

 > 

capture & reproduction d'évènements CLAVIER et SOURIS :-s


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

capture & reproduction d'évènements CLAVIER et SOURIS :-s

mercredi 2 mars 2005 à 14:02:26 | capture & reproduction d'évènements CLAVIER et SOURIS :-s

youkizouki

bonjour,

je dois creer une application que enregistre sous forme de macro tout les evenements graphiques de la souris (déplacements et cliques) MAIS AUSSI "toutes" les frappes clavier faites par l'utilisateur afin de les reproduires en boucle sans avoir a etre present physiquement devant la machine.

pour enregistrer les evenement souris je pense utiliser les API : 
   * getCursorPos (recupere position de la souris)
   * getKeyState (pour enregistrer les cliques bouton) 

pour reproduire les evenements souris l'API : 
   * mouse_event

LE PROBLEME EST QUE JE DOIS EGALEMENT ENREGISTRER LES FRAPPES CLAVIER AFIN DE LES RESTITUER AU BON ENDROIT (dans la bonne zone de texte) AU BON MOMENT...

l'api getKeyState permet de tester aussi bien le "statut" des boutton souris que clavier donc pour la capture pas trop de probleme mais avez vous une idée sur l'API a utiliser pour reproduire aussi bien les évenements souris que clavier car "mouse_event" ne gere que la souris...

j epensais utiliser l'API keybd_event pour reproduire les evenements clavier mais je doute !
Est-il vrai que l'API sendInput permet de generer tant des evenement clavier que souris
[ Lien ]

Rmq:  pour effectuer la capture j'utilise un timer qui enregistre dans un tableau toutes les X millisecondes la position de la souris, l'etat de ces boutons ainsi que l'état des touches du clavier (API : getKeyState) et pour reproduire tout ces evenements il ne me restera plus normalement qu'a lire les données du tableau et a les ré exécuter  mais pour cela je dois utiliser une seule API qui generera soit des evenements clavier soit souris en fonction de ce que contient le tableau et non deux API différentes (mouse_event ou kybd_event) car pour restituer le text dans la bonne zone je devrais deplacer le curseur jusque la zone de texte, cliquer et ensuite seulement ecrire...

je sais que ce n'est peut etre pas évident a comprendre et je me tient a votre disposition pour tout renseignements complémentaires...

je tiens dors et déjà a remercier toutes les personnes qui prendront le temps de lire ce long et ennuyeux message...

a tres bientot j'espère !
 
                                                                                       mika

--------------------------------------------------
Visual Basic 6.0 (projet pour plateform NT 4.0)


jeudi 3 mars 2005 à 00:46:42 | Re : capture & reproduction d'évènements CLAVIER et SOURIS :-s

radcur



salut

pour les api, je peux te suggérer de rechercher sur 2 sites www.progotop.com et www.allapi.net.

VB6 contient un add-in aussi pour les api.  Je te recommende d'y jeter un coup d'oeil.
mardi 20 septembre 2005 à 23:09:59 | Re : capture & reproduction d'évènements CLAVIER et SOURIS :-s

STEPH_3D

Je découvre les API et tente de trouver une méthode pour utiliser les touches du clavier afin de me déplacer dans le menu d'une fenêtre créée en API. Pas évident !

J'ai trouvé une adresse (c'est en anglais) qui peut donner des idées :
[ Lien ]

Maintenant pour l'utiliser, j'essaie de comprendre (boucle ?, timer ?) . A voir.

A vous de découvrir et bonne chance !

En voici une partie  :
Listing 9-9 shows the full code to check for a key press.
'Type to hold the coordinates of the mouse pointer
Private Type POINTAPI
x As Long
y As Long
End Type

'Type to hold the Windows message information
Private Type MSG
hWnd As Long   'the window handle of the app
message As Long  'the type of message (e.g. keydown)
wParam As Long  'the key code
lParam As Long  'not used
 time As Long   'time when message posted
pt As POINTAPI  'coordinate of mouse pointer
End Type

'Look in the message buffer for a message
Private Declare Function PeekMessage Lib "user32" _
Alias "PeekMessageA" _
(ByRef lpMsg As MSG, ByVal hWnd As Long, _
ByVal wMsgFilterMin As Long, _
ByVal wMsgFilterMax As Long, _
ByVal wRemoveMsg As Long) As Long

'Translate the message from a key code to a ASCII code
Private Declare Function TranslateMessage Lib "user32" _
(ByRef lpMsg As MSG) As Long

Windows API constants
Private Const WM_CHAR As Long = &H102
Private Const WM_KEYDOWN As Long = &H100
Private Const PM_REMOVE As Long = &H1
Private Const PM_NOYIELD As Long = &H2

'Check for a key press
Public Function CheckKeyboardBuffer() As String

'Dimension variables
Dim msgMessage As MSG
Dim hWnd As Long
Dim lResult As Long

'Get the window handle of this application
hWnd = ApphWnd

'See if there are any "Key down" messages
 lResult = PeekMessage(msgMessage, hWnd, WM_KEYDOWN, _
 WM_KEYDOWN, PM_REMOVE + PM_NOYIELD)

'If so ...
If lResult <> 0 Then
'... translate the key-down code to a character code,
'which gets put back in the message queue as a WM_CHAR
'message ...
lResult = TranslateMessage(msgMessage)

'... and retrieve that WM_CHAR message
 lResult = PeekMessage(msgMessage, hWnd, WM_CHAR, _
 WM_CHAR, PM_REMOVE + PM_NOYIELD)

 'Return the character of the key pressed,
'ignoring shift and control characters
CheckKeyboardBuffer = Chr$(msgMessage.wParam)
End If

End Function

Traduction globale du commentaire :
Quand nous appuyons sur une touche sur le clavier, la fenêtre active est envoyée à un message de WM_keydown, avec un code de bas niveau pour identifier la clef physique serrée.  La première chose que nous devons faire, alors, est d'employer PeekMessage pour regarder dans la file d'attente de message pour voir s'il y a des messages en suspens de WM_keydown, l'enlevant de la file d'attente si nous trouvons un.  Si nous trouvions un, nous devons le traduire en code de caractère en utilisant TranslateMessage, de nouveau au lequel envoie le message traduit ont excelé la file d'attente de message comme message de WM_char.  Nous alors regardons dans la file d'attente de message pour ce message de WM_char et renvoyons le caractère serré.

vendredi 30 septembre 2005 à 21:24:50 | Re : capture & reproduction d'évènements CLAVIER et SOURIS :-s

youkizouki

Bonjour STEPH_3D,

désolé de répondre seulement maintenant a ton message, mais il y a des semaines que je n'ai pas lu mes mails perso

Je ne travail plus sur ce projet actuellement mais merci quand meme pour l'info...

si tu as besoin, j'essaierais de répondre à tes questions.

bonne soirée,

youki 



                                          


Cette discussion est classée dans : clavier, api, souris, evenements, capture


Répondre à ce message

Sujets en rapport avec ce message

Ecoute d'evenements souris et clavier ??? [ par youkizouki ] bonjour, je suis actuellement étudiant en 3e info et viens de me lancer dans la formidable aventure du stage de fin d'étude (d'une dur&# API donnant les événements souris et clavier d'une fenetre [ par jud83 ] Dans une application VB , je souhaite détecter la fenêtre active de Windows (que ce soit ou non une fenetre de mon application) : Pas de probleme.La o inactivite clavier et souris [ par micky22 ] Bonjour,Je souhaite minimiser une application apres que personne n ait touche au clavier et a la souris pendant 10 min. Ce doit etre permanent ainsi j bloquer le clavier, souris et ouvrir internet [ par calla25 ] bonjour à tousvoilà mon probléme, je voudrait pouvoir bloquer le clic droit de ma souris ainsi que certaine touche de mon clavier tel que "CTRL", "ALT Générer un ou des caractères du clavier avec la souris [ par renier ] Bonsoir, Quelqu'un pourait-il me dire comment, en fonction de la position du curseur de la souris et d'un click gauche, générer un ou des caractères Probleme souris clavier sans fil [ par Dast ] Salut tlm, chuis en train de poster des posts un peu partout pour un ptit soucis; On m'a offert un pack clavier souris sans fil pour Noël, et ca couil API souris [ par seedorf ] Bonjour,j'aimerai bien savoir si elle existe une API qui détécte les fonction de souris, je sais qu'une api detecte les coordonée de la souris "GetCur Bloquer le clavier et la souris [ par Flyer ] Personne n'a une idée comment bloquer le clavier et la souris ?Que lorsqu'on appuye dessus, il ne se passe rien.Merci Mettre en mode exclusif le clavier et la souris pour mon prgm [ par padide ] Je souhaite que mon prgm est l'exclusivitée du clavier et de la souris tant que celui ci n'est pas quitté. C'est pour un prgm de sécurité donc c'est e Simuler une frappe clavier et un click souris [ par pedro ] Bonjour, J'aimerais savoir comment faire pour simuler une frappe clavier dans un logiciel (non programé en vb) , et comment faire pour simuler un clic


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,555 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales