in reply to set windows background picture

For all I know, the following basic rules apply: The last condition may have been relaxed for later editions of Windows. I doubt it. (They use a workaround in VB: "If the file is not a bitmap file, the program loads it into a hidden PictureBox and then saves the image as a bitmap file.") If you want to use something other than a .BMP file, convert it to a .BMP first, and use that.

For the first two items, you can use rel2abs() from File::Spec/File::Spec::Functions, it will turn any path into a nice, absolute, native, Windows file path — with backslashes.