Projet ClipboardViewerDate de publication : 29/09/2002
Par
Pierre Castelain Comment détecter que le presse-papier a été modifié et comment afficher les divers formats qu'il contient. 1. Description 2. Mise en oeuvre 3. Téléchargement 1. Description
Comme c'est souvent le cas, l'idée de ce projet vient d'une discussion sur le forum Delphi de developpez.com. La question initiale était de savoir comment détecter qu'un changement est intervenu dans le presse papier. Après avoir cherché un peu dans les documentations de Microsoft, il apparait que la chose est techniquement assez simple car une API a été concue pour ça.
2. Mise en oeuvre
L'API fournie par Windows est relativement simple car elle ne met en jeu que deux fonctions essentielles (SetClipboardViwer et ChangeClipboardChain) et quelques messages (en particulier WM_CHANGECBCHAIN et WM_DRAWCLIPBOARD). Le projet initial consistait juste à démontrer l'utilisation de cette API, mais comme souvent, une idée s'impose : pourquoi ne pas visualiser le contenu du presse-papier à chaque modification ?
Vous trouverez donc dans les liens suivants un projet nommé ClipboardViewer (original non ?) qui, à chaque modification du presse-papier, affiche la liste des formats disponibles et permet d'un clic de souris de voir le contenu d'un de ces formats. Les formats reconnus sont un peu limités mais rien de vous empêche d'en rajouter vous-même.
J'ai également intégré un projet dénommé MicroDemo qui ne contient que le code de détection.
3. Téléchargement
Le projet ClipboardViewer (Delphi 5) dans une archive compressée : ClipboardViewer.zip Le projet MicroDemo (Delphi 5) dans une archive compressée : MicroDemo.zip |