begin process at 2012 05 28 21:32:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

envoie de touches fictives du clavier


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

envoie de touches fictives du clavier

mercredi 15 octobre 2003 à 15:27:24 | envoie de touches fictives du clavier

semenzato

Bonjour ,
je voudrais savoir comment envoyer des touches fictives du clavier à la fenetre de dialogue principale
merci
mercredi 15 octobre 2003 à 19:49:58 | Re : envoie de touches fictives du clavier

BruNews

Administrateur CodeS-SourceS
Messages de fenetres ne seraient pas mieux ?
BruNews, ciao...
jeudi 16 octobre 2003 à 09:06:02 | Re : envoie de touches fictives du clavier

semenzato

Je n'arrive pas à envoyer la touche tab par des messages de fenetre mais par contre j'essaye d'utiliser la fonction sendinput mais la structure INPUT n'est^pas reconnu alors qu'elle est bien declarer


merci
jeudi 16 octobre 2003 à 09:22:45 | Re : envoie de touches fictives du clavier

BruNews

Administrateur CodeS-SourceS
ceci:
#define _WIN32_WINNT 0x0500
avant:
#include <windows.h>
BruNews, ciao...
jeudi 16 octobre 2003 à 11:10:50 | Re : envoie de touches fictives du clavier

semenzato

Merci beaucoup pour ta réponse mais finalement j'ai abandonné l'option sendinput.

Mon but était d'appuyer fictivement sur un bouton(bouton executer du programme) d'un autre programme ecrit en Delphi.

Je dois donc recuperer l'IDcontrol du bouton concerné , je recupere donc l'HANDLE de la fenetre principale avec findwindow et c'a fonctionne bien.

Par contre quand je regarde avec Spy++ pour trouver l'ID du bouton , je remarque que celui ci change toujours et il est equivalent au handle du bouton , je ne comprend pas je croyais que le ID était fixe.

J'aimerais savoir si il est possible de recuperer l'Handle du bouton sans connaitre le ID car il s'agit de la même valeur.


Ensuite , si je reussit a avoir l'id ou le handle comment est ce que je peut lui dire de s'enclencher , est ce que je peut lui envoyer la touche "entrée" , si oui quelle est cette touche.

Je te remercie de ton aide qui est vraiment super



jeudi 16 octobre 2003 à 11:23:26 | Re : envoie de touches fictives du clavier

BruNews

Administrateur CodeS-SourceS
Non pas la touche Entree mais:
PostMessage(hDest, WM_COMMAND, idbutton, (long) hButton);
Certain que hbutton == idbutton ??? Jamais vu cela.
BruNews, ciao...
jeudi 16 octobre 2003 à 12:10:18 | Re : envoie de touches fictives du clavier

semenzato

Je suis sur que hbutton == idbutton.
peut etre parce que c'est une application delphi?


dans ce cas est ce qu'il est possible d'avoir directement le handle du bouton ou alors d'envoyer a la fenetre des tabulations pour en voyer le focus sur le bouton puis envoyer une touche virtuelle "entrée"


merci

petite parenthèse : est ce qu'il est possible d'appuyer sur la touche play de winamp dans un programme sachant que winamp n'est pas une application dialog


jeudi 16 octobre 2003 à 12:24:51 | Re : envoie de touches fictives du clavier

BruNews

Administrateur CodeS-SourceS
Fais une enum des child de la fenetre, si tu connais le titre du bouton tu le trouveras. Voir EnumChildWindows() dans msdn.
winamp, je ne connais pas.
BruNews, ciao...
jeudi 16 octobre 2003 à 16:40:42 | Re : envoie de touches fictives du clavier

semenzato

merci pour cette info , mais malheureusement encore je n'arrive pas a utiliser cette fonction , je n'arrive pas a utiliser la fonction de rappel (callback) pour pouvoir récupérer les valeurs.
de plus je ne connais pas les paramètres a rentrer dans le troisième argument .

merci encore
jeudi 16 octobre 2003 à 17:04:23 | Re : envoie de touches fictives du clavier

BruNews

Administrateur CodeS-SourceS
Faut etudier MSDN et j'ai deja mis des sources faisant de l'enum, faut fouiller un peu.
szcaption est titre button recherche.
HWND hbutton = 0;

Je n'utilise pas le 2eme param dans ce cas.
BOOL CALLBACK EnumButtonsProc(HWND hwnd, LPARAM a)
{
char buff[40]; // tu vois si trop, mais multiple de 4 !
buff[0] = 0;
GetClassName(hwnd, buff, 10);
if(strcmp(buff, "BUTTON")) goto suivant;
GetWindowText(hwnd, buff, 40);
if(strcmp(buff, szcaption)) goto suivant;
hbutton = hwnd; // OK fini on sort
return 0;
suivant: return 1;
}

ICI EST LE LANCEUR
EnumChildWindows(hparent, EnumButtonsProc, 0);

BruNews, ciao...


Cette discussion est classée dans : envoie, clavier, touches, fictives


Répondre à ce message

Sujets en rapport avec ce message

Envoyer les touches du clavier. [ par Babou ] Bonjour,Je cherche un moyen d'envoyer la séquence de touches suivante : .Mais il faut que ce soit sur le port clavier, pas sur l'écran.Etant donné Probleme pour récupérer des touches du clavier en c++ [ par TRASH52 ] TRASH52J'ai un probleme pour récupérer toutes les touches autres que les caractères! Les caractères peuvent etre recupere avec getch() ok, mais pou Envoie des touches Ctrl et Alt vers une autre application [ par claude28fr ] Bonjour,Quelqu'un pourrait-il me dire comment je peux faire pour envoyer par exemple la combinaison "CTRL + F" à une autre application style Bloc note les touches du clavier avec gtk [ par hubj ] salut !j aimerais savoir comment est ce que je peut associer une touche du clavier avec un widget bouton pour que mon application (une caculatrice av simuler touches clavier [ par janus_dualite ] Bonjour,Je ne parviens pas a simuler certaines touches du clavier comme "_", ".", "@" a l'aide de keybd_event, alors qu'il n'y a aucun probleme par ra Clavier "internet" [ par ntamac ] J'ai un probleme, je vous explique : j'ai fais l'aquisition d'un clavier dit "internet" avec des touches supplémentaire du type play pause zoom, Volum manipulation du clavier en WIN32 [ par Ombitious_Developper ] Salut :Comment peut - on manipuler les combinaisons de touches clavier en win32(si on appuie simultanément sur 2 ou plusieurs touches).exemple ALT+MAJ Re : WM_KEYDOWN interception touche clavier [ par gregory6 ] GringoBonjour, Je débute sous visual C++ et j'ai un petit problème sur les interceptions de touches au clavier. J'aimerai récupérer les touches du cla MFC: Problème de saisie de touches au clavier dans une boite de dialogue [ par cedsan ] Salut à tousVoila mon problème: J'ais une petite application MFC ou je n'arrive pas à prendre le code ascii des touches taper au clavier. Voici mon bo Vérrouillage fonctions clavier [ par jmhC ] Bonjour, Y a t-il une maniére simple de vérrouiller les touches et combinaisons de touches Windows, à savoir, en autres, Ctrl+Alt+Del, Ctrl+Echap, Alt


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,437 sec (4)

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