I'm learning how to use Win32::API to change my desktop wallpaper. Of course, things are not working correctly or else I wouldn't be posting here. :) I keep getting this error:
Wrong number of parameters: expected 0, got 4.
There's a couple different ways I can take this, and none of them present any obvious solution to me. The API call does expect 4 parameters, which I think I've set up. I've gone back and forth through the POD for Win32::API and I'm stuck. Can anyone tell me what I'm doing wrong?
#!/usr/bin/perl -w
use strict;
use LWP::Simple;
use Win32::API;
my ( $day, $month, $year ) = (localtime)[3..5];
my $date = sprintf( "%4s%02s%02s", $year += 1900, ++$month, $day );
my $filename = 'c:\perl\penny-arcade.gif';
print "Fetching: http://www.penny-arcade.com/images/$year/${date}h.gif
+\n";
#my $gif = get( "http://www.penny-arcade.com/images/$year/${date}h.gif
+" );
my $gif = get( "http://www.penny-arcade.com/images/2001/20011031h.gif"
+ );
die "Could not retrieve GIF: $!" unless defined $gif;
open GIF, ">$filename" or die "Can't open $filename: $!";
binmode GIF;
print GIF $gif;
close GIF;
my $SysParam = new Win32::API( 'User32', 'SystemParametersInfo', 'NNPN
+', 'N' );
die "Can't import API SystemParametersInfo: $!" unless defined $SysPar
+am;
$SysParam->Call( 20, 0, $filename, \x1 );
"We're experiencing some Godzilla-related turbulence..."