Heb in tussen ImageMagick geinstalleerd, dit is wél goed gelukt. Ook heb ik ondertussen een van mijn wallpapers succesvol omgezet van JPEG naar BMP.
Dit is het uiteindelijke script geworden;
PHP: change.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <?php
$map = 'C:\\wallpaperchanger\\images\\'; //De map met .jpg's
$dezemap = 'C:\\wallpaperchanger\\'; //De map met dit bestand
$imagemagickpad = 'C:\\Program Files\\ImageMagick-6.3.3-Q16\\'; //het pad van ImageMagick
$userpad = 'C:\\Documents and Settings\\USERNAME\\'; //Het pad naar de Documents en Settings van de user.
$bestanden = array(); //Array voor de filenames
$dirhandle = opendir($map); //Open de map
while (false!==($temp = readdir($dirhandle))){ //Lees alle files uit de dir
if(substr($temp,-4,4)=='.jpg'){ //Lees alleen de .jpg files
$bestanden[] = $temp; //Zet deze in de array
}
}
closedir($dirhandle); //Sluit de map
$aantal = count($bestanden); //Tel het aantal bestanden in de array
$wallpaper = rand(0,$aantal); //Bepaal willekeurig het nr van de nieuwe wallpaper
$wallpaper = $map.$bestanden[$wallpaper]; //Vertaal dit nummer in een pad naar de .jpeg wallpaper
$batfile = fopen($dezemap.'convert.bat','w');
$writestring = '"'.$imagemagickpad.'convert" '.$wallpaper.' "'.$userpad.'Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True';
fwrite($batfile,$writestring);
fclose($batfile);
?> |
start.bat
php.exe -f C:\wallpaperchanger\change.php
convert.bat
Een aantal opmerkingen;
- De variabelen in change.php uiteraard even aanpassen.
- Dit script vereist het gebruik van ImageMagick
- Dit script werkt alleen op Windows
- Dit script is alleen getest op Windows XP Pro NL SP2, ongevalideerd
- Gebruik op eigen risico
- Uiteraard kan het beter, makkelijker, simpeler enz, maar omdat Windows lastig deed over de tijd die tussen de verschillende stappen zat heb ik het opgesplitst in 3 bestanden.
- Vragen, opmerkingen, tips en kritiek, mits opbouwend, zijn uiteraard welkom!