Win32::Clipboard - Interaction with the Windows clipboard |
Win32::Clipboard - Interaction with the Windows clipboard
use Win32::Clipboard;
$CLIP = Win32::Clipboard();
print "Clipboard contains: ", $CLIP->Get(), "\n";
$CLIP->Set("some text to copy into the clipboard");
$CLIP->Empty();
$CLIP->WaitForChange(); print "Clipboard has changed!\n";
This module lets you interact with the Windows clipboard: you can get its content, set it, empty it, or let your script sleep until it changes. This version supports 3 formats for clipboard data:
CF_TEXT
)Example:
$text = Win32::Clipboard::GetText(); print $text;
CF_DIB
)Example:
$image = Win32::Clipboard::GetBitmap(); open BITMAP, ">some.bmp"; binmode BITMAP; print BITMAP $image; close BITMAP;
CF_HDROP
)Example:
@files = Win32::Clipboard::GetFiles(); print join("\n", @files);
All the functions can be used either with their full name (eg. Win32::Clipboard::Get)
or as methods of a Win32::Clipboard
object.
For the syntax, refer to SYNOPSIS above. Note also that you can create a clipboard
object and set its content at the same time with:
$CLIP = Win32::Clipboard("blah blah blah");
or with the more common form:
$CLIP = new Win32::Clipboard("blah blah blah");
If you prefer, you can even tie the Clipboard to a variable like this:
tie $CLIP, 'Win32::Clipboard'; print "Clipboard content: $CLIP\n"; $CLIP = "some text to copy to the clipboard...";
In this case, you can still access other methods using the tied()
function:
tied($CLIP)->Empty; print "got the picture" if tied($CLIP)->IsBitmap;
Empty()
EnumFormats()
Get()
GetBitmap()
or GetFiles()
instead. Get()
is in fact implemented as:
if( IsBitmap() ) { return GetBitmap(); } elsif( IsFiles() ) { return GetFiles(); } else { return GetText(); }
See also IsBitmap(), IsFiles(), IsText(), EnumFormats()
and IsFormatAvailable()
to check the clipboard format before getting data.
GetAs(FORMAT)
CF_TEXT
, CF_DIB
and CF_HDROP
; any other
format is treated as a string.
GetBitmap()
undef
on errors.
GetFiles()
undef
on errors.
GetFormatName(FORMAT)
undef
on errors;
note that you cannot get the name of the standard formats (described in the
CONSTANTS section).
GetText()
undef
on errors.
IsBitmap()
IsFiles()
IsFormatAvailable(FORMAT)
IsText()
Set(VALUE)
WaitForChange([TIMEOUT])
TIMEOUT
value (in milliseconds), the function will return when this timeout
expires, even if the clipboard hasn't changed. If no value is given, it will wait
indefinitely. Returns 1 if the clipboard has changed, undef
on errors.
These constants are the standard clipboard formats recognized by Win32::Clipboard:
CF_TEXT 1 CF_DIB 8 CF_HDROP 15
The following formats are not recognized by Win32::Clipboard; they are,
however, exported constants and can eventually be used with the EnumFormats(),
IsFormatAvailable()
and GetAs()
functions:
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>
Original XS porting by Gurusamy Sarathy <gsar@activestate.com>.
Win32::Clipboard - Interaction with the Windows clipboard |