trainkill
Messages postés29Date d'inscriptionjeudi 16 mars 2006StatutMembreDernière intervention24 juillet 2007
-
19 avril 2006 à 16:26
trainkill
Messages postés29Date d'inscriptionjeudi 16 mars 2006StatutMembreDernière intervention24 juillet 2007
-
20 avril 2006 à 13:14
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
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 20 avril 2006 à 00:12
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.