Win32::Clipboard von Jan Dubois ermöglicht den einfachen Zugriff auf die Windows-Zwischenablage.
Tipp: Unter Microsoft Windows kann der Inhalt der Zwischenablage über den Systemdienst Ablagemappe mit dem Programm %systemroot%\system32\clipbrd.exe eingesehen und auch verwaltet werden.
Text, Bitmaps und Dateilisten
In der Zwischenablage können sich Texte, Bitmaps oder Dateilisten befinden.
Diese drei Typen müssen unterschiedlich behandelt werden.
Win32::Clipboard kann alle drei Typen lesen; in der hier besprochenen Version 0.52 kann Win32::Clipboard nur Text in die Zwischenablage einfügen. Also keine Bitmaps oder Dateilisten.
Basics
Ein neues Objekt der Klasse Win32::Clipboard erzeugen
#!/usr/bin/perl use warnings; use strict; use Win32::Clipboard; my $clip = Win32::Clipboard();
und die installierte Version ausgeben:
    # installierte Version 
print 'Win32::Clipboard Version: ', $clip->Version() , "\n";
Zwischenablage leeren
$clip->Empty();
Text lesen und bearbeiten
Text zur Zwischenablage hinzufügen
$clip->Set('Testtext für Zwischenablage');
Feststellen, ob sich Text in der Zwischenablage befindet
if ( $clip->IsText() ) {
	print "In der Zwischenablage befindet sich Text\n";	
}
Textinhalt der Zwischenablage anzeigen
if ( $clip->IsText() ) {
    my $text = $clip->GetText();
    print "Text in der Zwischenablage: $text\n";
}
Bitmaps lesen
Feststellen, ob sich in der Zwischenablage ein Bitmap befindet
if ( $clip->IsBitmap() ) {
	print "In der Zwischenablage befindet sich ein Bitmap\n";	
}
Bitmap aus der Zwischenablage lesen und in eine Datei speichern
if ( $clip->IsBitmap() ) {
	my $image = $clip->GetBitmap();
	open    BITMAP,'>',"YouNameIt.bmp" or die $!;  
	binmode BITMAP;
	print   BITMAP $image;
	close   BITMAP or die $!;
}
Dateilisten lesen
Feststellen, ob sich in der Zwischenablage eine Dateiliste befindet
if ( $clip->IsFiles() ) {
	print "In der Zwischenablage befindet sich eine Dateiliste\n";	
}
Dateiliste aus der Zwischenablage lesen und ausgeben
if ( $clip->IsFiles() ) {
	my @files = $clip->GetFiles();
	foreach my $file (@files) {
		print "Datei: $file\n";
	}
}
Siehe auch
 
 

Jetzt kommentieren