Bonjour à tous.
Je viens en ces lieux car je me retrouve bloqué sur le développement d'une petite fonctionnalité et mon manque de connaissance sur ce type de programmation se fait grandement ressentir !
tout d'abord ce que je voudrais faire :
je voudrais être dans n'importe quelle fenêtre de mon environnement (firefox,word, excel...) et récupérer le texte sélectionne à la souris afin de le glisser dans une variable. Pour récupérer le texte, je tape sur une touche préconfigurée (F8) et cette partie est testée et fonctionnelle.
mon problème :
j'ai parcourru beaucoup de forums et de liens pour m'apercevoir que je dois interagir avec les API de windows. Mon gros problème, c'est que je ne les connais pas et j'avance à tatillon.
Voici mon code
c'est à partir de la que je me perd. Il faudrait que je récupère le controle du champ qui contient le texte...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // récupération du handle de la fenêtre active hwnd=API("USER32","GetForegroundWindow") Trace(hwnd) // vérification que la récupération se fait bien = ok //récupération du thread principal API ("USER32","GetWindowThreadProcessId",hwnd,&processID) //affichage du PID = ok Trace(processID)
Il faudrait utiliser EnumChildWindow pour récupérer controles des champs de la fenêtre mais je ne comprend pas comment l'implémenter.
ET voici la fin de mon code qui devrait récupérer le texte du champ (si hwnd est le handle de la fenêtre active, je ne récupère rien).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 API("USER32","SendMessageA", hwnd, "GetWindowText",&lparam,40) Trace(lparam)
j'ai essayé de récupérer aussi la position du curseur initial et final (pour la sélection de texte) mais je n'y arrive pas.
Je suis preneur de toute solution.
Pour info vous trouverez ici une des réponses les plus pertinente que j'ai pu trouver.
Partager