#!/win2k/Perl/bin/perl use Win32::API; use constant SPI_SETDESKWALLPAPER => 20; use constant SPIF_UPDATEANDSENDINI => 3; use constant NULL => 0; my $syspinf = Win32::API->new('user32','SystemParametersInfo', [I,I,P,I], I) or die "Could not import function.\n"; $syspinf->Call(SPI_SETDESKWALLPAPER, 0, $ARGV[0], SPIF_UPDATEANDSENDINI); exit; ############################################################### # This is my muddled attempts at using CoCreateInstance... :( use constant CLSID_ACTIVEDESKTOP => '{75048700-EF1F-11D0-9888-006097DEACF9}'; my $coci = Win32::API->new('ole32','CoCreateInstance', [I,P,I,I,P], I) or die "Could not import SetWallpaper.\n"; my $setwall; my $res = $coci->Call(CLSID_ACTIVEDESKTOP, undef, 0, 0, \$setwall); print "Got: `$res'\n"; print "Setwall: `$setwall'\n"; #$setwall->($ARGV[0], 0); exit; #### $target = "BMP"; $current = "JPEG"; $Config{'Options'}{'Converted File'} = "converted.bmp"; $Config{'Conversions BMP'}{'JPEG'} = 'convert "$infile" "$outfile"'; my $ofile = $Config{'Options'}{'Converted File'}; my $cmd = $Config{"Conversions $target"}{$current}; $cmd =~ s/\$infile/$filename/g; $cmd =~ s/\$outfile/$ofile/g; system $cmd and die "Error converting $filename -> $ofile: $!\n";