Accueil > Forum > > > > sendmesage Postmessage
sendmesage Postmessage
samedi 22 novembre 2008 à 11:43:08 |
sendmesage Postmessage

POURMONET
|
Bonjour, ça coince. Je dois être un peu neuneu, mais ce bout de code ne fonctionne pas. j'ai une application qui tourne, elle s'appelle "Identification", je veux lui envoyer un message à afficher dans un textbox à partir d'un autre programme. le code est simple : 'envoyer un message sur mon appli nom_fenetre = "Identifiant" Handle = cherche_fenetre(vbNullString, nom_fenetre) Handle = GetWindow(Handle, 5) 'se placer dans la fenetre du texte txt = "BONJOUR" For num = 1 To Len(txt) lettre = Asc(Mid(txt, num, 1)) PostMessage Handle, WM_KEYDOWN, lettre, 0 PostMessage Handle, WM_KEYUP, lettre, 0 Next
Et bien ça marche pas. Les fonctions Tab ou Close passent bien, mais ce message ne s"affiche pas. j'ai du rater quelque chose, mais je ne sais pas ou !!! si quelqu'un a une idée, je le remercie par avance. Patrick
|
|
samedi 22 novembre 2008 à 16:27:17 |
Re : sendmesage Postmessage

PCPT
|
salut,
pas besoin de boucler...
en plus ici tu n'envoies pas la lettre mais son code ascii, et n'ayant pas tes déclarations sous les yeux, moins facile... et " cherche_fenetre " n'est pas un nom d'API normal...
Private Const WM_SETTEXT As Long = &HC& Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
SendMessage Handle , WM_SETTEXT, ByVal 0&, ByVal "BONJOUR" Prenez un instant pour répondre à ce sondage svp
|
|
samedi 22 novembre 2008 à 18:12:53 |
Re : sendmesage Postmessage

POURMONET
|
Bonsoir, Cherche_fenetre c'était juste pour montrer à un ami que l'on pouvait modifier le nom d'une fonction API. ceci dit, WM-SETTEXT marche trés bien, toutefois il n'affiche pas le texte dans la bonne textbox, mais toujours dans le même bouton de la fenêtre.  comment faire pour afficher dans le bon champ de saisie ? j'ai essayé la touche tab, le focus change bien mais le text est toujours saisie dans le même controle. nom_fenetre = "Identifiant" Handle = FindWindow(vbNullString, nom_fenetre) Handle = GetWindow(Handle, 5) 'se placer dans la fenetre du texte
TxT$ = "BONSOIRkjhk"
PostMessage Handle, WM_KEYDOWN, VK_TAB, 0 'enter
SendMessage Handle, WM_SETTEXT, ByVal 0&, ByVal TxT$
merci pour ton aide patrick  
|
|
samedi 22 novembre 2008 à 18:37:26 |
Re : sendmesage Postmessage

PCPT
|
à toi d'avoir le bon handle.... tu as mis Handle = GetWindow(Handle, 5) 'se placer dans la fenetre du texte , ce "choix" sort d'où ?
ps : ami ou pas, quel intérêt de changer les noms? Prenez un instant pour répondre à ce sondage svp
|
|
samedi 22 novembre 2008 à 19:30:24 |
Re : sendmesage Postmessage

POURMONET
|
Cela me permet de sélectionner une fenêtre du programme hôte. Si je ne met pas GetWindows, le message apparait dans le titre de la fenêtre. Si je le laisse, le message apparait dans le bouton OK J'ai essayé d'autres code que le 5, mais cela ne donne rien.
je n'arrive pas à envoyer mon message dans la textbox.
Le problème est que je n'ai pas pu trouvé d'explication claire sur ces fonctions. J'avance à TATON.
|
|
samedi 22 novembre 2008 à 22:08:49 |
Re : sendmesage Postmessage

PCPT
|
à tatons ok mais là c'est pire que du pifomètre..., tu utilises une API sans lire à quoi elle sert...
The GetWindow function retrieves the handle of a window that has the specified relationship (Z order or owner) to the specified window. 5 c'est GW_CHILD
avoir la class "enfant" c'est bien beau, mais il y a plusieurs contrôles sur ce "niveau".... des "button", des "edit", etc.....
si tu prends le premier venu forcément tu as le premier venu!
soit tu gardes cette méthode et dans ce cas il te faut aussi jouer avec GetClassName et de nouveau GetWindow avec le flag GW_HWNDNEXT, soit tu joues avec FindWindowEx
tout çà, par chance, est documenté : http://msdn.microsoft.com/fr-fr/library/default.aspx
le mieux étant au moins de savoir ce qu'on cherche, en l'occurence d'aller "lire" le bon handle visuellement, avec Spy++, puis de commencer les tests (sendmessage) seulement quand on a trouvé le même handle
bon courage Prenez un instant pour répondre à ce sondage svp
|
|
dimanche 23 novembre 2008 à 01:04:31 |
Re : sendmesage Postmessage

POURMONET
|
Hello, j'ai TATE pendant un bon moment, mais ça marche avec FindWindowsEx. Pas facile de trouver les réponses à des questions aussi précises.
Merci pour ton aide et bonne nuit.
Patrick
|
|
dimanche 23 novembre 2008 à 01:18:48 |
Re : sendmesage Postmessage

PCPT
|
pense à valider la ou les bonnes réponses dans ce cas bonne continuation
|
|
dimanche 23 novembre 2008 à 08:36:02 |
Re : sendmesage Postmessage

Renfield
|
une fois la fenetre parent trouvée, tu peux jouer avec l'ID du controle ciblé.
Private Declare Function GetDlgItem Lib "user32.dll" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long
lances Spy++ pour connaitre l'ID du textbox dont tu cherches le handle
|
|
mardi 25 novembre 2008 à 17:04:55 |
Re : sendmesage Postmessage

johnnous
|
salut tu pourrais m'evoyer tes sources
merci Jean louis
|
|
Cette discussion est classée dans : message, fenetre, handle, lettre, postmessage
Répondre à ce message
Sujets en rapport avec ce message
METTRE HANDLE AU PREMIER PLAN [ par Esc ]
Je n'arrive pas à mettre une fenetre d'une autre appli au premier plan de l'écran avec le focus mis sur cette fenetre.Je n'ai que le handle de la fene
Comment poster un message à une fenetre DOS [ par GEDDi ]
Je sais qu'avec SendMessage on peut envoyer des messages à d'autres fenetres, mais je sais pas comment on peut poster un message à une fenetre dite 'c
API ShellExecute [ par jockos ]
Salut,LE premier paramètre de la méthode Api ShellExecute est un Long qui a pour nom Hwnd...J'ai été voir sur la MSDN et il semblerai que ce soit l'ha
Message Box [ par xavier77 ]
Salut, J'en ait un peu marre du MsgBox de VB, alors, j'ai donc décidé d'en créer un avec des nouvelles propriétés (couleur, des nouveau icones,...).J'
sendmessage [ par pascalparis ]
bonjour,merci vos réponses mais en fait je m'étais mal expriméj'avais le lien sur MSDN et j'ai +sieurs APIviewers qui me donnent toutes les constantes
handle appativate [ par charleshenri ]
bonjour a tous. voila j'ai une fenetre d'erreur de script de Internet Explorer qui n'arrete pas de s'afficher avec une radio que je suis entrain de cr
Afficher un message plein ecran quelque soit la fenetre active [ par yohan49 ]
Voila , une fois n'est pas coutume , j'ai un autre defi ! lolcomment faire afficher un message text a l'ecran quelque soit l'application qui a le focu
trouver le handle de la fenetre active meme si c'est une fentre fille [ par khalilo ]
ben je crois que tout est résumé dans le titre: comment à partir d'une API ou d'autre chose on pourrait trouver le handle de la fenetre qui a le focus
Handle d'une fenetre [ par BasicInstinct ]
'lutje voudrai recuperer le handle d'une fenetre d'une appli exterieur (par exemple c:\toto.exe). BasicInstinct
Recupération de l'handle d'une fenetre [ par Falk ]
Quelqu'un pourait-il me renseigner sur l'API a utiliser en VB.NET pour récupérer l'Handle d'une fenetre a partir du texte de cette meme fenetre.Et si
Livres en rapport
|
Derniers Blogs
PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc
Forum
FONCTION EXCELFONCTION EXCEL par samanta26
Cliquez pour lire la suite par samanta26
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|