Délai pour le clipboard

Signaler
Messages postés
6
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
28 janvier 2006
-
Messages postés
6
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
28 janvier 2006
-
Salut,



J'essai de faire un interface entre une application et mon logiciel. La
seul manière de copier le texte de l'application cible c'est d'utiliser
le menu Edition\Copier(avec sendinput). J'ai aussi la fonction qui
copie le Clipboard. Le problème c'est que je ne peux pas appeler les
deux fonctions une à la suite de l'autre. Quand je le fait, ça lit ce
qu'il y avait avant dans le clipboard, pas ce qu'il doit y avoir après
la copie du texte.



J'ai essayé en laissant un délai avec un timer mais ça ne fonctionne
pas. Pourtant chacune des fonctions séparer marche. Si quelqu'un
comprend pourquoi? Je peux fournir mon code si nécessaire. Toute aide
serait apprécier . a+



Merci

6 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
On ne doit pas toucher au clipboard, un prog ne doit pas remplacer ce que l'utilisateur pourrait y avoir mis.
Essaie WM_GETTEXT.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
6
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
28 janvier 2006

Salut Brunews,



Ok j'étudie ta solution. Mais je ne veux pas modifier le clipboard
juste lire ce qu'il y a dedans. Peux-être que je fais un détour
inutile... Je vais voir si WM_GETTEXT marche.

La fenêtre dans laquelle je copie du texte est un terminal Netterm.



a+
Messages postés
6
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
28 janvier 2006

Salut Brunews,



J'ai essayé avec WM_GETTEXT et ça ne marche pas pour ce que je veux
faire. Est-ce que tu as une idée pour ma première question stp?



Pour le WM_GETTEXT, j'ai énuméré toute les fenêtres avec
EnumChildWindow et l'endroit ou ce trouve le texte à copier n'est pas
détecté comme une fenêtre. Voici une image du logiciel
http://telechargement.journaldunet.com/fiche/208/2/netterm/#.



J'ai même essayé EnumWindow et j'ai rien trouvé qui affiche le texte de
NetTerm. C'est embêtant je doit récupérer du texte de cette fenêtre
pour faire marcher mon application.



Quelqu'un peux m'aider?



Merci
Messages postés
6
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
28 janvier 2006

En gros pourquoi je peux pas lire le contenu du Clipboard même avec un
délai de 5 secondes, alors que je peux faire ctrl+v n'importe ou et le
contenu du Clipboard est le bon?



Qu'est qui empêche le clipboard de se mettre à jour durant ma fonction?
C'est vraiment idiot il y a quelque chose que je connais pas qui m'en
empêche.



Bon assez pour maintenant j'espère que quelqu'un sait ce qui cloche j'ai tout essayé.
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Je ne connais pas le terminal Netterm, laisse pour l'instant la copie de texte et essaie de récupérer le handle de la fenêtre. Si tu réussis, copier le texte ne doit pas poser de problème avec WM_GETTEXT.
Bizzare l'image sur le lien que tu donnes, ressemble fort à un vieux prog 16 bits, si c'est le cas alors...

Fonctions et manipulation du clipboard sont expliquées en détails dans Petzold:
http://brunews.free.fr/brunews/download/CP5.zip
http://brunews.free.fr/brunews/download/CP5Sources.zip

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
6
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
28 janvier 2006

J'ai mis invisible tout ce que j'ai pu obtenir avec EnumChildWindow et
l'affichage du terminal n'est pas disparu. Je vais quand même réessayer
et lire tes docs sur le clipboard.

D'après moi je vais devoir trouver une autre solution et ce sera pas simple.



Bon Merci, a+