1
我通过代码更换壁纸时出现问题,因为每个SO/Codeproject线程都会在更改壁纸时谈论下面的代码。 (有没有其他运OS测试至今)在Windows 7上更换壁纸
const int SPI_SETDESKWALLPAPER = 20;
const int SPIF_UPDATEINIFILE = 0x01;
const int SPIF_SENDWININICHANGE = 0x02;
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int SystemParametersInfo(
int uAction, int uParam, string lpvParam, int fuWinIni);
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @"C:\Temp\100_5715.JPG.bmp",
SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
实际的问题,我在这里的是,如果我上面的代码为Windows服务,并安装为“本地服务”或“本地系统”,它根本不会工作。但是,如果我将上面的代码作为ConsoleApp使用,那么事情就会起作用。
我想知道最新的问题?是的,我的用户帐户具有管理权限。我也有Windows 7 Ultimate在这里。
感谢:)
将服务作为用户类型而不是本地系统或本地服务来解决问题?虽然我尝试过,但每次我尝试安装它时,都会询问用户名和密码。虽然我尝试提供我的登录会话凭据,它不会采取。不知道该怎么做。 – Zenwalker
与用户帐号无关,会话被隔离。同样,你不能使用服务。谷歌“会话0隔离”为背景信息。当没有人登录时,您也不需要服务,也不需要更改桌面位图。将快捷方式放到用户的Startup文件夹中。 –
嗯。奥基应该做的,谢谢:) – Zenwalker