Hallo,
kann mir vielleicht jemand weiterhelfen?
Ich habe folgendes Problem:
Ich habe einen kleinen Dienst gemacht, der beim Hochfahren das Hintergrundbild wechseln soll. Das ganze habe ich mit
SystemParametersInfo realisiert.
Allerdings wird SystemParametersInfo nicht ausgeführt, wenn es in der OnStart-Methode steht.....Es passiert einfach gar nichts..... Weiss jemand, warum SystemParametersInfo in Diensten nicht funktioniert?
Hier noch der Code:
Code Snippet
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Diagnostics;
using
System.ServiceProcess;
using
System.Text;
using
System.Runtime.InteropServices;
using
System.IO;
using
Microsoft.Win32;
namespace
ServiceTest2
{
public class ServiceTest2 : ServiceBase
{
public const string MyServiceName = "ServiceTest2";
public ServiceTest2()
{
InitializeComponent();
}
private void InitializeComponent()
{
this.ServiceName = MyServiceName;
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
const int SPI_SETDESKWALLPAPER = 20;
const int SPIF_UPDATEINIFILE = 0x01;
const int SPIF_SENDWININICHANGE = 0x02;
const string pat1 = @"C:\Bilder\hg\bmp\milkyway06_hst_big.bmp";
[
DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
}
protected override void OnStart(string[] args)
{
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, pat1, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
}
protected override void OnStop()
{
}
}
}