Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : enumchildwindows comparaison [ Archives Visual Basic / API ] (trainkill)

mercredi 19 avril 2006 à 16:26:22 | enumchildwindows comparaison

trainkill

Bonjour,

J'utilise les fonctions API suivantes dans mon application pour recuperer les libellés des champs dans une fenêtre d'une appli externe :

findwindow, sendmessage, enumchildwindows etc ...

J'arrive à parcourir tous les champs de cette fenêtre, mais je n'arrive pas à comparer ceux-ci avec des strings. Voici la fonction EnumChildProc que j'utilise :


Private Function EnumChildProc(ByVal hWnd As Integer, ByVal lParam As Integer) As Integer
   Dim Length As Integer = SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0)
   Dim sURL As String = New String(" "c, Length + 1)

   SendMessage(hWnd, WM_GETTEXT, sURL.Length, sURL)

   If
sURL = Search Then       ' ICI retourne toujours false, dans tous les cas !
      Found = True
      return False
   End If

   Return True
End Function

Je me demande où est le problème ...


mercredi 19 avril 2006 à 20:08:01 | Re : enumchildwindows comparaison

zavier666

Search ne devrait-il pas être "Search" puisqu'il s'agit d'une string????


APi @ la Loupe:
[ Lien ]

jeudi 20 avril 2006 à 00:12:06 | Re : enumchildwindows comparaison

BruNews

Administrateur CodeS-SourceS
Regarde d'abord si le retour de WM_GETTEXTLENGTH correspond à ce que tu attends, inutile de faire tout le traitement sinon.

Ensuite WM_GETTEXT remplit ton buffer sURL au format C, faut peut-être que tu isoles la partie de la chaine sans le zéro final avant de comparer, à tester.

ciao...
BruNews, MVP VC++

jeudi 20 avril 2006 à 13:14:35 | Re : enumchildwindows comparaison

trainkill

C'est bon j'ai trouvé à quoi était du le problème :

Il fallait que je mette

Dim sURL As String = New String("", Length)

et ensuite

SendMessage(hWnd, WM_GETTEXT, iLength + 1, sURL)

voilà merci de votre aide




Cette discussion est classé dans : sendmessage, hwnd, integer, surl, enumchildwindows


Répondre à ce message

Sujets en rapport avec ce message

SendMessage - W2000 [ par Christophe ] Bonjour,Sous Windows 2000, est-ce la même déclaration ? :Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _ (ByVal hwnd As Intege SendMessage WM_SETTEXT [ par tbbuim1 ] Salut à tous! Public Sub WriteIntoAppli()     Dim hWnd As Long     hWnd = GetForegroundWindow     AttachThreadInput App.ThreadID, GetWindowThreadProce Syntaxe de SendMessage [ par toto1980 ] Bonjour je souhaite simuler l'appui clavier sur une appli:SendMessage hwnd, WM_KEYDOWN,?,?J'ai le bon hwnd mais je ne sais pas quoi mettre comme param Simuler l'appuis sur Bouton via sendmessage [ par baouc ] Bonjour a tous,j'ai un gros problème et ça fait plusieurs jours que je cherche sans succès.Mon but est d'appuyer sur un bouton d'un autre programme (e 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 Obtenir les noms des fenêtres dans la barre des tâches (partiellement résolu) [ par fauve ] Salut,Voilà mon soucis, j'ai reussi à faire un petit programme qui me liste les noms des fenêtres ouvertes et qui apparaissent dans la barre des tâche SendMessage avec un Controle Webbrowser [ par 111z ] Bonjour J'essaie d'envoyer la touche {END} à un controle WebBrowser mais à chaque fois j'ai le message"La méthode HWND a echouée"Private Declare Fun Connaitre tous les SendMessage [ par salazar ] Je souhaiterai espionner tous les sendmessages véhiculés pas Windows XP, pour les enregistrer. Or pour l'utilisation de l'API il faut définir un hWnd création d'un point exe [ par j621473 ] Lorsque je crée mon .exej'ai l'impression que l'expression suivante n'est pas compilée : Call SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, "Enviro Déplacement un par un de controle fesan parti d'un groupe de controle [ par SuperPit37 ] Bon voila j'ai un groupe de 30 controle et voudrai savoir comment et t'il possible de les déplacer un par un sans avoir a reécrire le procedure a chaq


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.