[delphi 7]
salut;
je voudrais savoir s'il existe une fonction permettant la simaulation de touches clavier, équivalent de sendkey en vb.
Merci
[delphi 7]
salut;
je voudrais savoir s'il existe une fonction permettant la simaulation de touches clavier, équivalent de sendkey en vb.
Merci
keybd_event(...) ou un truc dans le genre
Salut !
J'avais écrit une unité regroupant les différentes fonctions permettant de simuler frappes au clavier et clics de souris.
Voir ici, chapitre II-A : http://delphi.developpez.com/defi/demineur/defieur/
1) Tu télécharges les sources du projets.
2) tu récupères l'unité "UnitSystem.pas" que tu ajoutes à ton projet.
Voici les fonctions de simulation de touches qui sont proposées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 procedure SimulateKeyDown(Key : byte); begin keybd_event(Key, 0, 0, 0); end; procedure SimulateKeyUp(Key : byte); begin keybd_event(Key, 0, KEYEVENTF_KEYUP, 0); end; procedure SimulateKeystroke(Key : byte; extra : DWORD); begin keybd_event(Key, extra, 0, 0); keybd_event(Key, extra, KEYEVENTF_KEYUP, 0); end; procedure SendKeys(s : string); var i : integer; flag : bool; w : word; begin flag := not GetKeyState(VK_CAPITAL)=1; if flag then SimulateKeystroke(VK_CAPITAL, 0); for i :=1 to Length(s) do begin w := VkKeyScan(s[i]); if ((HiByte(w) <> $FF) and (LoByte(w) <> $FF)) then begin if HiByte(w)=1 then SimulateKeyDown(VK_SHIFT); SimulateKeystroke(LoByte(w), 0); if HiByte(w)=1 then SimulateKeyUp(VK_SHIFT); end; end; if flag then SimulateKeystroke(VK_CAPITAL, 0); end;
Pour Faire un Ctrl+Shift+E, par exemple :
Attention, ça ne fonctionne que sur la fenètre d'application active
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SimulateKeyDown(VK_CTRL); SimulateKeyDown(VK_SHIFT); Senkeys('E'); SimulateKeyUp(VK_SHIFT); SimulateKeyUp(VK_CTRL);
voilà !
Salut,
Merci à tous pour vos réponses, Merci LadyWasky pour votre projet, ceci ma permis de résoudre mon problème.
Salut à tous,
Merci à LadyWaskyLadyWasky pour ces procédures.
Elles m'ont été d'une très grande utilité.
Naga
9 ans plus tard, ça doit lui faire plaisir
ceci dit, je viens justement de publier un MacroPlayer
https://github.com/tothpaul/Delphi/t.../MacroRecorder
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager