[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à !
Bidouilleuse Delphi
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
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
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