Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1221 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Sendmessage ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Sendmessage ?

n°1595766
davidmarli
Posté le 03-08-2007 à 22:08:23  profilanswer
 

Bonjour
 
Je voudrais savoir comment simuler l'appuie d'une touche dans une fenêtre dont je connais le handle ??
 
JE m'explique. J'ai fait une appli delphi qui lance une application externe à une certaine heure. Une fois cette appli lancée il faudrait que mon prog delphi lui simule l'appuie de touches clavier :  
CTRL+ESPACE  
 
Quelqu'un sait faire ça ?
 
Merci pour votre aide.

mood
Publicité
Posté le 03-08-2007 à 22:08:23  profilanswer
 

n°1595786
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 04-08-2007 à 01:11:43  profilanswer
 

D'abord un FindWindow() pour trouver le handle de la fenêtre (si tu ne l'as pas déjà), puis 2 messages à envoyer :

Code :
  1. SendMessage(handle, WM_KEYDOWN, VK_CTRL, 1)


puis

Code :
  1. SendMessage(handle, WM_KEYDOWN, VK_SPACE, 1)


Message édité par Harkonnen le 04-08-2007 à 01:12:08
n°1595796
davidmarli
Posté le 04-08-2007 à 08:51:53  profilanswer
 

Merci pour ta réponse.
 
Alors la constante VK_CTRL n'est pas reconnu !!!
 
Maintenant autre question : si je veut simuler l'appuie sur la touche E par exemple que dois-je mettre ? J'ai vu sur google VK_E mais la aussi cette constante n'est pas reconnu !
 
Merci

n°1595829
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 04-08-2007 à 13:00:21  profilanswer
 

Je sais pas comment on utilise ces constantes en Delphi, en C elles sont définies dans windows.h. Remplace les par leur valeur :
VK_CTRL = 17
VK_E = 69

n°1595842
davidmarli
Posté le 04-08-2007 à 13:34:41  profilanswer
 

ok je vais essayer.
 
J'avais pour l'instant éviter le sendmessage en utilisant un script autoit.
Mais bon j'espère y arrivr directement avec le sendmessage.
 
Merci pour ton aide.

n°1598189
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-08-2007 à 14:32:14  profilanswer
 

Elles sont définies dans la unit "Windows" ces constantes. Bon là dedans c'est VK_CONTROL au lieu de VK_CTRL, je sais pas si c'est Harkonnen ou Delphi qui a fait l'erreur :D
Quand au VK_E, c'est juste la valeur du E, donc 'E' ou Ord('E') selon qu'il faille un Char ou un Word.

n°1598225
davidmarli
Posté le 10-08-2007 à 15:17:24  profilanswer
 

ok merci.

n°1598234
rufo
Pas me confondre avec Lycos!
Posté le 10-08-2007 à 15:26:05  profilanswer
 
n°1598517
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-08-2007 à 01:44:32  profilanswer
 

antp a écrit :

Elles sont définies dans la unit "Windows" ces constantes. Bon là dedans c'est VK_CONTROL au lieu de VK_CTRL, je sais pas si c'est Harkonnen ou Delphi qui a fait l'erreur :D


C'est moi :o
C'est bien VK_CONTROL :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Sendmessage ?

 

Sujets relatifs
passage de TStream de Delphi à C++[DELPHI]Récupérer un dossier d'un SaveDialog
[Débutant] Delphi ou Pythonnombre de série delphi et le clé d'autorisation
convertir un real en string en delphiDelphi mort ? Vaut il encore le coup ?
[DELPHI] Ajouter un jour à un datetimepicker.[DELPHI] Importer ActiveX.
[DELPHI] Composant pou rentrer une adresse IP. (Résolu !)[DELPHI 7 PE] SynEdit Grammaire.
Plus de sujets relatifs à : [Delphi] Sendmessage ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR