调用通用的API来设置桌面壁纸,是一件既简单又有趣的事情,结合XAML可以生成图像的特性,你甚至可以做一个应用,让用户用他所拍的照片做成一张自定义壁纸,然后作为桌面壁纸。
这个API是通用的,应用运行在任意Windows设备上都能使用,当然包括手机。在Windows.System.UserProfile命名空间下,有一个叫UserProfilePersonalizationSettings的类,它可以修改锁屏壁纸和桌面壁纸,调用后会返回bool值,如果成功就是true,如果人品不佳就返回false。
在调用UserProfilePersonalizationSettings类前,先访问一下IsSupported方法,看看是否支持该操作。然后通过Current属性可以获取到一个UserProfilePersonalizationSettings实例,之后你就可以设置壁纸了。
调用TrySetLockScreenImageAsync方法设置锁屏壁纸,调用TrySetWallpaperImageAsync方法可以设置桌面壁纸,参数都是用来作为背景的图片文件的StorageFile。
从这也看到,用起来真的很简单,给你看个例子:
// 设置壁纸 if (!UserProfilePersonalizationSettings.IsSupported()) { msgbox.Content = "人品问题,不支持的操作。"; await msgbox.ShowAsync(); return; } UserProfilePersonalizationSettings settings = UserProfilePersonalizationSettings.Current; bool b = await settings.TrySetWallpaperImageAsync(file); if (b) { msgbox.Content = "设置成功。"; } else { msgbox.Content = "操作失败。"; }
看看效果吧。在PC上运行是这样的。
在手机上运行是这样的。
然后以设置手机桌面壁纸为例,修改壁纸后的开始屏幕是这样的。
如何,是不是很简单呢。
示例下载地址:http://files.cnblogs.com/files/tcjiaan/CustomWallpage.zip