Win32::Clipboard - Interaction avec le Presse-Papiers de Windows. |
Win32::Clipboard - Interaction avec le Presse-Papiers de Windows.
use Win32::Clipboard;
$CLIP = Win32::Clipboard();
print "Le Presse-Papiers contient : ", $CLIP->Get(), "\n";
$CLIP->Set("du texte à copier dans le Presse-Papiers");
$CLIP->Empty();
$CLIP->WaitForChange(); print "Le Presse-Papiers a changé !\n";
Ce module vous permet d'interagir avec le presse-papiers de Windows: vous pouvez obtenir son contenu, le changer, le vider, ou laisser votre script dormir jusqu'à ce qu'il change. Cette version supporte 3 formats pour les données du Presse-Papiers :
CF_TEXT
)Exemple:
$text = Win32::Clipboard::GetText(); print $text;
CF_DIB
)Exemple:
$image = Win32::Clipboard::GetBitmap(); open BITMAP, ">some.bmp"; binmode BITMAP; print BITMAP $image; close BITMAP;
CF_HDROP
)Exemple:
@files = Win32::Clipboard::GetFiles(); print join("\n", @files);
Toutes les fonctions peuvent être utilisées soit avec leur nom complet
(ex. Win32::Clipboard::Get) ou bien comme méthodes d'un objet Win32::Clipboard
.
Pour la syntaxe, reportez-vous à la rubrique SYNOPSIS ci-dessus.
Notez aussi que vous pouvez créer un objet presse-papiers et fixer son contenu en
même temps:
$CLIP = Win32::Clipboard("blah blah blah");
ou, avec la manière moins commune :
$CLIP = new Win32::Clipboard("blah blah blah");
Si vous préférez, vous pouvez même lier le Presse-papiers à une variable comme ceci:
tie $CLIP, 'Win32::Clipboard';
print "Contenu du presse-papier : $CLIP\n";
$CLIP = "du text à copier dans le presse-papier...";
Dans ce cas, vous pouvez aussi accéder aux autres méthodes en utilisant la
fonction tied()
:
tied($CLIP)->Empty; print "image saisie" if tied($CLIP)->IsBitmap;
Empty()
EnumFormats()
Get()
GetText()
, GetBitmap()
ou GetFiles()
à
la place. En fait, Get()
est implémenté comme :
if( IsBitmap() ) { return GetBitmap(); } elsif( IsFiles() ) { return GetFiles(); } else { return GetText(); }
Voir aussi IsBitmap()
, IsFiles()
, IsText()
, EnumFormats()
et IsFormatAvailable()
pour vérifier le format des données du presse-papiers avant de les obtenir.
GetAs(FORMAT)
CF_TEXT
, CF_DIB
et
CF_HDROP
; tout autre format est traité comme une chaîne.
GetBitmap()
undef
en cas d'erreur.
GetFiles()
undef
en cas d'erreur.
GetFormatName(FORMAT)
undef
en cas d'erreur.
Notez que vous ne pouvez pas obtenir le nom des formats standards
(décrits dans la section CONSTANTES).
GetText()
undef
en cas d'erreur.
IsBitmap()
GetBitmap()
.
IsFiles()
GetFiles()
.
IsFormatAvailable(FORMAT)
IsText()
GetText()
.
Set(VALUE)
WaitForChange([TIMEOUT])
TIMEOUT
(en millisecondes), la fonction
retournera quand ce délai sera passé, même si le contenu du presse-papiers n'a
pas changé. Si aucune valeur n'est donnée, elle attendra éternellement. Renvoie
1 si le presse-papiers a changé, undef
en cas d'erreur.
Ces constantes sont les formats standards du presse-papiers reconnu par Win32::Clipboard:
CF_TEXT 1 CF_DIB 8 CF_HDROP 15
Les formats suivants ne sont pas reconnus par Win32::Clipboard; néanmoins,
ce sont des constantes exportées par le module et elles peuvent être utilisées
avec les fonctions EnumFormats()
, IsFormatAvailable()
et GetAs()
:
CF_BITMAP 2 CF_METAFILEPICT 3 CF_SYLK 4 CF_DIF 5 CF_TIFF 6 CF_OEMTEXT 7 CF_PALETTE 9 CF_PENDATA 10 CF_RIFF 11 CF_WAVE 12 CF_UNICODETEXT 13 CF_ENHMETAFILE 14 CF_LOCALE 16
Aldo Calpini <dada@perl.it>
Portage XS original par Gurusamy Sarathy <gsar@activestate.com>.
Cette traduction française correspond à la version anglaise distribuée avec perl 5.6.1. Pour en savoir plus concernant ces traductions, consultez http://www.enstimac.fr/Perl/ .
Jean-Louis Morel <jl_morel@bribes.org>
Win32::Clipboard - Interaction avec le Presse-Papiers de Windows. |