之前在网上各种找关于Qt中,让图片设置为桌面背景的方法,结果,在win7,win8上都显示黑屏的,好在…我总算试出了一张方法可以实现这点.
首先,我们打开注册表:
看图找到树状图的这个位置:
我们会发现桌面图是在这里设置的.
下面贴出代码:
QSettings wallPaper("HKEY_CURRENT_USER\\Control Panel\\Desktop", QSettings::NativeFormat);
QString path("c:/users/administrator/desktop/2.png");
//把注册表的桌面图片路径改为指定路径.
wallPaper.setValue("Wallpaper", path);
QByteArray byte = path.toLocal8Bit();
//调用windows api.
SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, byte.data(), SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);