[Résolu] Capture du texte d'une fenetre externe à PB

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: [Résolu] Capture du texte d'une fenetre externe à PB

Message par Fig »

C'est amusant, j'ai écrit un code similaire il y a peu.

Un ami avait un problème avec un programme (CD-prospect pour ne pas le citer) qui lui interdisait d'exporter au format excels la recherche.
J'ai fait un prog qui utilise la touche tabulation pour passer d'un champs à l'autre et la souris pour passer d'une ligne à la suivante.
Je passe par le presse papier ensuite.

A noter que j'ai du mettre des timers partout (delay) notamment après ctrl+C car il faut un délai important pour être sûr que les commandes sont bien passées.
Pour démarrer la lecture j'utilise un hook sur une touche rarement utilisée comme page_down.

Ca marche bien mais c'est assez lent. (environ 100 lignes par minutes avec 9 champs par lignes...) Impossible d'aller plus vite sans perdre des informations. :(

PS: 100ms c'est parfois limite, avec 150ms on est sûr que ça marche... (ça dépend du pc)
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: [Résolu] Capture du texte d'une fenetre externe à PB

Message par nico »

Il n'était pas possible de faire un ctrl+a plus un ctrl+v ?
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [Résolu] Capture du texte d'une fenetre externe à PB

Message par Ar-S »

Au final j'ai ajouté un peu d'API pour déplacer la fenêtre avant les interactions car elle ne s'ouvrait pas forcement au même endroit à chaque lancement.

Code : Tout sélectionner

hMainWnd=FindWindow_(0,"Sécurité de Windows")
If hMainWnd <> 0
	SetForegroundWindow_(hMainWnd) ; active et passe au 1er plan
	MoveWindow_(hMainWnd,766,187,439,276,1) ; Place la fenêtre
; Else
; Debug "Fenêtre introuvable"
; Delay (1500)
; End
EndIf
Voilou.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: [Résolu] Capture du texte d'une fenetre externe à PB

Message par Fig »

nico a écrit :Il n'était pas possible de faire un ctrl+a plus un ctrl+v ?
Non, le ctrl+A était bloqué volontairement par le programme. Par contre le ctrl+C fonctionnait sur chacun des champs.
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Répondre