Veröffentlicht 30. Dezember 200816 j Hallo, Ich versuche gerade ein kleines Windows Service zu schreiben, dass mir in regelmäßigen Abständen mein Windows Wallpaper ändert.. aussehen tut das ganze etwa so: Imports System.Threading Imports System.ServiceProcess Public Class Service1 Inherits System.ServiceProcess.ServiceBase Dim t As Threading.Thread Protected Overrides Sub OnStart(ByVal args() As String) t = New Threading.Thread(AddressOf setWP) t.Start() End Sub Protected Overrides Sub OnStop() t.Abort() End Sub Sub setWP() Do Threading.Thread.Sleep(5000) SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, _ "C:\Daniel\Wallpapers\wp.bmp", SPIF_UPDATEINIFILE Or _ SPIF_SENDWININICHANGE) Loop End Sub Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, ByVal uParam As Integer, ByVal pncMetrics As String, ByVal fuWinIni As Integer) As Integer Private Const SPI_SETDESKWALLPAPER = 20 Private Const SPIF_UPDATEINIFILE = &H1 Private Const SPIF_SENDWININICHANGE = &H2 End Class ... leider ändert sich aus irgendeinem Grund das Windows Wallpaper nicht... hab ich da Mist gebaut, oder lässt Windows so etwas aus Sicherheitsgründen nicht zu? (Windows XP, SP3) Danke für die Info mfg Roland
30. Dezember 200816 j Der Dienst weiß ja nicht für welchen Benutzer er den Desktop ändern soll. Evtl. hilft es wenn du inden Eigenschaften des Dienstes die kommunikation mit dem Desktop aktivierst.
31. Dezember 200816 j Ich würde das ganze jetzt noch gerne unter Vista zum laufen bringen.. leider passiert dort nichts.. muss man unter vista noch weitere einstellungen vornehmen im Service, damit das klappt? (zB.Parameter ob das Bild gestreckt werden soll oder so) oder liegt das an der evt. strengeren Vista Security?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.