Bonjour,
Je voudrais savoir comment est ce qu'on peut intercepter une touche (F12) sur une application a l'aide d'un programme delphi qui tournerait tout le temps en tache de fond et qui ferait, lui, des manipulations.
Merci
Bonjour,
Je voudrais savoir comment est ce qu'on peut intercepter une touche (F12) sur une application a l'aide d'un programme delphi qui tournerait tout le temps en tache de fond et qui ferait, lui, des manipulations.
Merci
Recherche le terme KEYLOGGER dans la
Il y a un lien vers un source de NoNo
Ou un hook de bas niveau.
Bonjour,
Il y a plus simple :
Chez mois (Delphi 5 standard) ça marche avec toutes les touches sauf la F12 (VK_F12) qui déclenche une erreur en faisant surgir la fenêtre CPU.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.Timer1Timer(Sender: TObject); var F1 : boolean; begin Timer1.Interval := 10; F1:=GetAsyncKeyState(VK_F1) and 32768 <> 0; if F1 then showMessage('Il a tapé F1'); end;
Mais peut-être n'est tu pas obligé de choisir justement la F12 ???
A+.
Pour le F12, c'est juste en le lançant à partir de l'IDE que ça ne marche pas.
Re-bonjour,
... OK, merci : c'est bon à savoir.Linkin : Pour le F12, c'est juste en le lançant à partir de l'IDE que ça ne marche pas.
A+.
Dommage de passer par un timer lorsqu'on a la possibilité d'être notifié de façon sûre et certaine.
Bonjour,
... avec le GetAsyncKeyState dans le timer on est également notifié de façon sûre et certaine et comme Coucoucmoi ne veut apparamment intercepter q'une seule et unique touche cela évite de s'encombrer avec une toute une usine à gaz. A Coucoucmoi de choisir...Andnotor Dommage de passer par un timer lorsqu'on a la possibilité d'être notifié de façon sûre et certaine.
A+.
Si le système est surchargé, ta procédure sera exécutée quand le processeur en aura le temps. Je doute fort que tu retrouves toutes les frappes. Alors que le hook se place entre le buffer de clavier et la gestion de la frappe. Peu importe la charge du processeur, l'info transitera obligatoirement par ta procédure.
Et je ne parle pas de keybd_event (osk) qui aura un temps inférieur à 10ms.
Un hook de bas niveau, c'est un appel à SetWindowHookEx (début), un a UnhookWindowsHookEx (fin) et une procédure. Pas vraiment une usine à gaz
ps: S'il ne veut vraiment qu'une touche, il y a aussi les HotKey.
Re-bonjour,
... Ah bon : ne savais pas. Ok merci pour l'info.Andnotor : Si le système est surchargé, ta procédure sera exécutée quand le processeur en aura le temps.
A+.
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