Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Copier (ok) mais coller ? [ Divers / Débutant(e) ] (JulioDelphi)

mardi 6 mai 2008 à 20:28:31 | Copier (ok) mais coller ?

JulioDelphi

Membre Club Administrateur CodeS-SourceS
iop !

Petit soucis avec un collage provenant du presse-papier, voila mon bout de code :

je pose un edit et 2 boutons, sur le bouton 1 (ajouter ClipBrd dans les uses) :
 ClipBoard.AsText := edit1.text;

puis sur le 2eme, je voudrais qu'il prenne la "prochaine application ouverte" (comme si je fais un alt-tab ou un application.minimise) et qu'il "colle" (puis entrer tant qu'on y est.)

J'avais bidouillé un keyb_event avec alt+tab puis ctrl + V puis enter mais c'est crade et c'est pas fiable DU TOUT (d'ailleurs rien ne s'est collé car tout est executé trop rapidement).

Donc existe t-il la possibilité - une fois mon application réduite ou alt-tabbée - de faire comme un "ClipBoard.Paste;" ou un "Api_Windows_que_je_ne_connais_pas.WMESSAGEPASTE;" peut importe l'endroit où je me trouve (sur un navigateur dans un champs de recherche, sous MSN en train de chatter, etc) ?

mardi 6 mai 2008 à 22:22:00 | Re : Copier (ok) mais coller ?

Caribensila

Membre Club
Salut,

Et un glisser/coller ne te conviendrait-il pas?
L'application source envoie le msg msgInDrag à la fenêtre qui se trouve sous le curseur et... hop! 
Mais encore faut-il que l'application destinataire soit sensible à ce message...

mardi 6 mai 2008 à 23:02:41 | Re : Copier (ok) mais coller ?

JulioDelphi

Membre Club Administrateur CodeS-SourceS
Non, enf ait, dans l'appli, il y a 2 boutons et 1 edit.
Le 1er mets simplement le texte de l'edit en clipboard et le second doit coller ce contenu dans l'appli suivante (alt-tab ou minimize).
Le glisser n'est pas possible :(

mercredi 7 mai 2008 à 10:05:34 | Re : Copier (ok) mais coller ?

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

envoie un WM_PASTE

 
@+
Cirec


mercredi 7 mai 2008 à 10:07:58 | Re : Copier (ok) mais coller ?

cirec

Membre Club Administrateur CodeS-SourceS
j'ai oublié ...

tu pouvais le faire directement à la place de passer par l'unité ClipBrd

            Edit1.SelectAll;
            Edit1.CopyToClipboard;
            Application.ProcessMessages;




 
@+
Cirec


mercredi 7 mai 2008 à 10:41:00 | Re : Copier (ok) mais coller ?

JulioDelphi

Membre Club Administrateur CodeS-SourceS
Cirec: envoie un WM_PASTE
Mais encore ? ^^

mercredi 7 mai 2008 à 10:56:26 | Re : Copier (ok) mais coller ?

cirec

Membre Club Administrateur CodeS-SourceS
ben tu récupères le Handle de la fenêtre courante
puis:

  SendMessage(HandleFenetreCourante, WM_PASTE, 0, 0);
c'est tout

 
@+
Cirec


mercredi 7 mai 2008 à 12:21:54 | Re : Copier (ok) mais coller ?

JulioDelphi

Membre Club Administrateur CodeS-SourceS
okok, donc je fais un "application.minimize;" puis "recup le handle de la fenetre courante" puis "sendmsg wpaste", je tente ça dès que j'ai le temps :]
 (je bosse un minimum quand meme)

mercredi 7 mai 2008 à 14:43:42 | Re : Copier (ok) mais coller ?

JulioDelphi

Membre Club Administrateur CodeS-SourceS
Test non concluant :

procedure TForm1.Button2Click(Sender: TObject);
var
 fHandle:HWND;
begin
  application.ProcessMessages;
  application.minimize; // pour que la prochaine appli active soit le bon handle
  sleep(1000); // même sans, meme en passant par un timer pour faire un pause.
  fHandle:=GetFocus; // le handle en question
  SendMessage(LeHandle, WM_PASTE, 0, 0); // je lui envoie un "coller"
end;



so why ça marche pas donc !?

mercredi 7 mai 2008 à 15:42:05 | Re : Copier (ok) mais coller ?

cirec

Membre Club Administrateur CodeS-SourceS
Il  ne faut pas seulement récuperer le Handle de la fen^tre mais aussi celui de l'Edit ou du control qui doit recevoir le teste:

ce code fonctionne avec NotePad juste derièrre l'application

procedure TForm1.Button2Click(Sender: TObject);
Var LeHandle: THandle;
begin
  Edit1.SelectAll;
  Edit1.CopyToClipboard;
  Application.Minimize;
  Application.ProcessMessages;
  LeHandle := GetForeGroundWindow;
  LeHandle := FindWindowEx(LeHandle, 0, 'Edit', Nil);
  Sleep(50);
  SendMessage(LeHandle, WM_PASTE, 0, 0);
end;


 
@+
Cirec



1 2

Cette discussion est classé dans : alt, application, ok, copier, coller


Répondre à ce message

Sujets en rapport avec ce message

Copier/Coller composant EmulVT [ par Search ] Bonjour Est il possible d'effectuer des copier/Coller de chaînes de caractères dans un composant ICS emulVt ou TnScriptMerci Algorithme Copier/Coller [ par ToTo 44 ] Bonjours à tous les développeursJe recherche un algo pour faire du copier/coller.Je travail avec une AdvStringGrid et je veux selectionner plusieurs c copier coller vers le curseur [ par molotof_FC ] bonjour, je debute le delphi, et je bute actuelement sur un petit probleme. je souhaite faire un copier coller d'un edit vers un endroi non defini (la coller dans une application externe [ par Maniaxman ] salutcomment faire avec delphi pour coller un texte dans une application externe ??merci cherche quelques codes [ par truie54 ] Bonjour!!! je cherche des codes que je n'ai pas encore trouver sur internet. je cherche un code qui toutes les 2h effectue une action genre copier col Problème de copier/coller de composants à la création [ par orelien ] Bonjour,Mon problème est que je n'arrive pas à copier/coller des composants sur ma fiche au moment de la création.Une option/ un paramètre à dû être d dbgrid copier/coller [ par Reynaldd ] Bonjour a tous, Voila mon PB, je recupere le resultat d'un ADOQuery dans un DBGrid. Jusque là, pas de PB. Ensuite, je voudrai copier le contenu de ce Gestion de la fermeture de l'application par CTRL ALT SUPP [ par phiphilou ] Salut à tous,J'ai une application trois tier Midas qui pose un problème en exploitation. Il arrive que l'utilisateur kille le programme client ( et ou copier coller. A l'aide j'en ai marre. [ par ludopika ] J'ai un gros soucis ca fait plus d'une semaine que je travaille dessus et que je tourne en rond.J'ai un richtext ou un webbrowser (je peux avoir les d word en copier coller [ par korbendallas ] bonsoir a tous, je cherche via un ole word a faire un copier coller d'un fichier word dans un autre, en fait, j'ai des petits fichiers word et je veux


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,796 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.