webForumDet fria alternativet

Webservice - byta bakgrundsbild

.NET

2 svar · 423 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

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?

Medlem sedan jan. 2008280 inlägg
#2

Kanske har kontot som servicen körs under inte rättigheter att ändra på sådana saker?

Medlem sedan sep. 2005673 inlägg
#3

Kanske har kontot som servicen körs under inte rättigheter att ändra på sådana saker?

Jag har testat att låta tjänsten köra med mitt konto (som är admin) men det fungerar inte ändå. Samma kod fungerar ju med en win app... :(

275 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)