Kanske har kontot som servicen körs under inte rättigheter att ändra på sådana saker?
Jag fortsätter att träna på programmering och håller nu på att göra en windows service som ska ladda hem en bild och sätta den som bakgrundsbild en gång i timmen (ska busa lite med en kompis :) ). Själva tjänsten körs i bakgrunden och fungerar (har testat att skriva till en textfil var 10 sekund). Och nu har jag även lyckats få hem en fil på skrivbordet via min service.
Men jag lyckas inte sätta den som en bakgrundsbild! Har hittat exempelkod på nätet exempelvis här http://www.codeproject.com/KB/cs/C__Wallpaper_Switcher.aspx och kör jag den i en win form så fungerar det men samma kod blir fel i min service. Jag importerar user32.dll och kör följande:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @"C:\Users\maal_ova\Desktop\test.bmp", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
Fungerar som sagt i en win form men inte i min service. I min win form returnerar SystemParametersInfo en 1:a men i min service returneras 0 och då har nåt galet inträffat... men vad!? Vet ni vad som är fel? Hur får man fram begripliga felmeddelanden? Kan det ha något med vista att göra... säkerhetsinställningar?