Selectionner/Copier/Coller dans un autre programme

cs_kingshadow Messages postés 3 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 21 novembre 2004 - 20 nov. 2004 à 22:16
cs_kingshadow Messages postés 3 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 21 novembre 2004 - 21 nov. 2004 à 02:16
Bonjours, j'ai fait un programme, toute fonctionne, mais lorsque j'arrive a selectionner la textbox, la copier, et la coller dans un autre programme, rien ne marche : /.

J'ai essayer le fameux :

Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)

et une ou deux autre derivation, mais le texte n'était pas selectionner et ne pouvais donc pas être copier.

J'en suis donc arriver a ceci :

SetCursorPos 600, 365
mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, cButt, dwEI
Sleep 400
SetCursorPos 417, 365
mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI

Le but etant que sa soit automatique, rien ne dérange.
Donc le text est belle est bien selectionner. Alors je passe a la deuxieme étape.

j'ai essayer :
clipboard.clear
clipboard.text text1.text

et plus tard, quand je déplace mon curseur et que je suis rentrer dans l'autre programme a l'aide de commandes :

clipboard.get

ensuite j'ai essayer copier/coller, mais avec le keyb

keybd_event &H11, 0, 0, 0
keybd_event 67, 0, 0, 0
keybd_event &H11, 0, KEYEVENTF_KEYUP, 0
keybd_event 67, 0, KEYEVENTF_KEYUP, 0

Pour faire une sorte de ctrl + c (et ctrl + v plus tard)

rien ne marche.

Situation décrite :

Il y a une text dans une textbox, il la selectionne (regler) et copie la selection, la souris bouge et click sur l'autre programme deja ouvert, click dans sa textbox, et colle ce qu'il a copier.

Quelqu'un c'est pouquoi sa ne marche pas, ou a une solution?

je suis sur visual basic 6

Merci pour toute réponse ! : )

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 nov. 2004 à 01:11
Pour traiter un EDIT d'un prog externe, recupere son handle et envoie SendMessage avec EM_SETSEL pour selectionner le texte puis WM_COPY qui lui fera mettre son texte selectionne dans le clipboard.
Voir MSDN pour details sur EM_SETSEL.

ciao...
BruNews, MVP VC++
0
cs_kingshadow Messages postés 3 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 21 novembre 2004
21 nov. 2004 à 01:59
ops, je me suis mal expliquer,la textbox avec le text que je veux copier est dans mon programme, mais je doit le coller dans le programme externe. sinon a jouant avec le right click et le copier coller et aussi avec le clipboard j'ai réussi.

Le prob, si je ne clear pas le clipboard, et que sa recopie, sa sera encore la même affaire.

Alors que si je met le clipboard.clear, il me fait une erreur 554 si c'est bien sa, sinon, il ne copie rien : /.

Je vais faire quelque test pour vérifier quelque truc. Sinon, peut-etre que la fonction wm_copy et em_setsel pourron regler le probleme. Bon aller je me relance dans le "casse-tête" qu'est le programming. : )
0
cs_kingshadow Messages postés 3 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 21 novembre 2004
21 nov. 2004 à 02:16
ah toute est bon! Finnalement!, j'ai perdu presque une journée sur cette partie pathetique :(

Il y avait les fonction du clipboard en trop, sinon je crois que ta maniere aurait pu etre très bonne.

Faut dire que, trouver les coordonner de la souris de tel place a tel place pour arriver a selectionner un texte, et une autre coordonner plus une autre pour situer l'endroit ou faire son right click et trouver le "copier" ou le coller" c'est assez primitif :D

Merci quand même, et de toute facons, sur le forum, je n'ai vue aucune autre place parlant de comment copier/coller des information ayant raport avec une application externe, alors souhaiton que t'est explication fasse des heureux :P
0
Rejoignez-nous