in reply to Re: Re: Re: Clipboard to file
in thread Clipboard to file
Second, yes, you should be able to flush the clipboard with the line: $clipboard->Empty();
Type "perldoc Win32::Clipboard" at your Windows Command prompt to read more about the Clipboard module. I would recommend taking a look at POSIX::strftime for formatting your date/time into a file name. Here's an updated version of the script that uses strftime. It creates an output file with a name like: clip_2001_Aug_21_15_51_11.txt but of course you can customize any way you like.
Note, I noticed that on my system (Win2K, ActiveState build 623) that this write a file as soon as it's run even though the clipboard hasn't changed. I'm not sure why that is -- it seems to work fine once it's running. This should get you started though.#!/bin/perl -w use strict; use Win32::Clipboard; use FileHandle; use POSIX; my $clipboard = Win32::Clipboard(); print "To exit, CNTL-C out of this window.\n\n\n"; $clipboard->Empty(); while (1) { $clipboard->WaitForChange(); my $text = $clipboard->GetText(); my $now = localtime(); my $file = POSIX::strftime("c:\\temp\\clip_%Y_%b_%d_%H_%M_%S.txt", +localtime()); open(OUTPUT,">$file") or die "open: $!"; binmode OUTPUT; autoflush OUTPUT 1; print "$now: writing " , substr($text,0,40) , "... to $file\n"; print OUTPUT "$now\n$text\n"; close OUTPUT || die "close: $!"; } exit;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: Re: Clipboard to file
by Anonymous Monk on Aug 23, 2001 at 15:57 UTC |