Accueil > Forum > > > > SendMessage et WM_KEYDOWN
SendMessage et WM_KEYDOWN
jeudi 2 mars 2006 à 14:25:30 |
SendMessage et WM_KEYDOWN

jocou
|
Bonjour à tous
J'essaye de simuler l'envoi d'un touche dans la fenêtre de saisie d'une appli externe.
J'utilise la séquence suivante :
PostMessage hWnd, WM_KEYDOWN, VK_SHIFT, 0
PostMessage hWnd, WM_KEYDOWN, &H41, 0
Cette séquence ne fonctionne pas : j'envoie un 'a' alors que je voudrais envoyer un 'A' (shift + 'a').
Quelqu'un peut-il me dire pourquoi ?
Merci pour la réponse.
|
|
mardi 7 mars 2006 à 19:53:44 |
Re : SendMessage et WM_KEYDOWN

ShareVB
|
salut,
c'est peut être parce que ce n'est pas simultané...
essaie d'utiliser SendMessage à la place de PostMessage...
ensuite tu doit faire des WM_KEYUP dans l'ordre inverse : &H41 puis VK_SHIFT...
ShareVB
|
|
mercredi 8 mars 2006 à 10:17:55 |
Re : SendMessage et WM_KEYDOWN

jocou
|
Désolé, ça ne marche pas non plus avec les SendMessage (j'avais déjà essayé)
Bizarre, bizarre !!!
|
|
mercredi 8 mars 2006 à 13:51:38 |
Re : SendMessage et WM_KEYDOWN

ShareVB
|
salut,
avec les KEYUP dans le bon ordre ? down shift, down a, up a up shift...bizarre...
sinon, regarde du côté de WM_CHAR ou WM_GETTEXT ou WM_SETTEXT ou Get/SetWindowText...
ShareVB
|
|
mercredi 8 mars 2006 à 15:26:03 |
Re : SendMessage et WM_KEYDOWN

jocou
|
J'ai commencé par tester avec WM_SETTEXT, et ça ne marche pas non plus.
En fait, l'appli externe est écrite dans un langage exotique que je ne connais pas. Par contre, ce que je peux constater avec SPY++, c'est qu'aucun des contrôles disposés dans la fenêtre principale de l'appli ne possède un classname standard Windows.
Par exemple, la fenêtre principale a un classname "TWINDOW2" et un caption (le titre de la fenêtre), et tous les contrôles de cette fenêtre (zone d'édition, boutons, checkbox...) ont le même classname (TWINDOW1) et un caption null.
Original non ?
|
|
mercredi 28 juin 2006 à 11:59:01 |
Re : SendMessage et WM_KEYDOWN

viasante
|
Hello,
J'ai le même souci ! Mon application exotique est en Natstar ! As tu résolu ton problème ?
Le premier qui trouve contacte l'autre.
A+
|
|
mercredi 28 juin 2006 à 12:06:50 |
Re : SendMessage et WM_KEYDOWN

jocou
|
Salut viasante
Hélas non, je n'ai pas résolu mon problème, et j'ai même laissé tomber.
Par contre, si tu trouves quelque chose, fais-moi signe...
(Mon appli à interfacer était écrite en NSDK)
A+ et bon courage...
|
|
mercredi 28 juin 2006 à 14:42:33 |
Re : SendMessage et WM_KEYDOWN

viasante
|
Hello JOCOU, Tout à fait : NSDK c'est de chez NAT SYSTEM, dont un de leur produit s'appelle NATSTAR. [ Lien ]J'ai eu un technicien de Nat System qui m'a expliqué qu'ils utilisent une couche qui masque l'accès à leurs fenêtres, donc impossible d'utiliser l'API windows. Il va tout de même demander à un collègue et me rappelle demain soir. En attendant je croise les doigts !!! A+
|
|
jeudi 3 août 2006 à 14:02:03 |
Re : SendMessage et WM_KEYDOWN

jocou
|
Salut viasante
Je reviens à la charge au sujet de NSDK
As-tu obtenu de nouvelles infos ?
Si oui, peux-tu me contacter ?
A+
|
|
mercredi 13 septembre 2006 à 14:33:21 |
Re : SendMessage et WM_KEYDOWN

robin42p
|
L'histoire de la couche qui masque est tout à fait exacte.
Il faut réduire cette couche afin de pouvoir récupérer les différents pointeurs nécessaires.
Voici un exemple pour faire défiler une liste (bon c'est pas optimisé mais ça marche !) Le 1er pointeur correspond à un bouton Annuler Le 2ème correspond à la fameuse couche qu'il faut réduire
appHandle = GetTopWindow(0)
Do Until appHandle = 0 h = GetWindowText(appHandle, winTitle, 255) If winTitle Like "*Le titre de l'appli*" Then h = FindWindowEx(appHandle, ByVal 0&, "TWINDOW1", "")
'Récupération du pointeur de la touche Annuler hAnnuler = FindWindowEx(h, ByVal 0&, "TWINDOW1", "")
'Récupération du pointeur de la couche supplémentaire hCouche = FindWindowEx(h, hAnnuler, "TWINDOW1", "")
'Réduction de la couche ShowWindow hCouche, SW_MINIMIZE 'Récupération du pointeur la liste déroulante hListe = FindWindowEx(h, hAnnuler, "TWINDOW1", "") hListe = FindWindowEx(hListe, 0, "TWINDOW1", "") 'Récupération du type du contrôle wstyle = GetWindowLong(hListe, GWL_STYLE)
's'il s'agit d'une liste alors envoi de la touche BAS If wstyle = &H50200000 Then PostMessage hListe, WM_KEYDOWN, VK_DOWN, 0& End If 'Restauration de la couche ShowWindow hCouche, SW_SHOWNORMAL
etc...
|
|
Cette discussion est classée dans : sendmessage, wm, séquence, keydown, postmessage
Répondre à ce message
Sujets en rapport avec ce message
L'api : SendMessage - WM_CLOSE ne ferme pas IE ! [ par magicyoda ]
ca menerve ! cette fonction ne ferme pas IE !jai trouve sur le site une api : destroywindow mais elle marchait avec aucun programme !je voudrais bien
Probléme avec SendMessage [ par FrostByte ]
Je voudrais envoyer une frappe de touche via SendMessage à Firefox donc voici le code Public Const WM_KEYDOWN = &H100Public Const WM_KEYUP = &H101Publ
SendMessage WM_SETTEXT [ par tbbuim1 ]
Salut à tous! Public Sub WriteIntoAppli() Dim hWnd As Long hWnd = GetForegroundWindow AttachThreadInput App.ThreadID, GetWindowThreadProce
Envoi de control à une autre appli [ par olepretre ]
Bonjour,Je voudrais envoyer des séquences de controle (ctrl a, ctrl c) à une autre application (comme word, excel...). J'ai testépostmessage(hwnd,WM_K
Fermeture d'une appli avec PostMessage [ par logedu ]
J'ai une application que je n'arrive pas à fermer par Postmessage hwnd, WM_CLOSE,0$,0$Si l'on agit manuellement, cette appli ne se ferme pas avec 'Alt
relance pour mon probleme de sendMessage [ par etherny ]
POST initial (pour la ptite histoire) : http://www.vbfrance.com/forum.v2.aspx?ID=543998 Mon problème : je n'arrive pas a connaitre le handle de la fe
Capture vidéo et periphériques [ par promethee2003 ]
Bonjour a tous, j'ai un petit soucis. Je créer une appli de capture video(webcam...) pour capturer des images fixes a interval regulier. Le probléme
SendMessage, MouseDown,X, Y [ par Unreal ]
Bonjour,ça fait quelque temps que je cherche comment envoyer la position de la souris X et Y avec la commande WM_MOUSEDOWN en utilisant SendMessage:Pr
envoi un code touche a une apli par son hwnd [ par breton51 ]
bonjour je voudrai envoyer CtrL+O au bloc notemais voila rien ne se passevoici mon code ci quelqu'un a une idée <span lang="EN-GB" st
question erreur [ par marty14 ]
Bonjour,Je cale sur un retour d'erreur , si j'envois au programe AA qui n'est pas ouvert:Call PostMessage(AA, WM_KEYDOWN, vbKeyDown, 0&) 'DOWNCall Pos
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|