刚作smartphone程序的时候有个功能就是设置一张图片为sp桌面背景,这个功能很长时间都没有完全实现,设置桌面有时成功,有时候则没有反应,几经辗转,最近还是ningxu告诉我是一个参数错了,才有了眉目,哈,发挥vckbase精神,分享之.

系统的主题文件和主题背景是放在/Storage/Application Data/Home下面的,所以习惯的,先把图片拷到这个文件夹下面,当然你不拷也可以。

1. 通过更改注册表设置图片路径,把HKEY_CURRENT_USER//ControlPanel//Home下的BgImage健的值设置为图片的路径.

CF1里面没有提供直接操作注册表的类,我们只有转调用api了,用CF2的就幸福了,直接用Registry 类实现吧

......
RegCreateKeyEx(HKEY_CURRENT_USER, L"//ControlPanel//Home", 0, NULL, 0, 0, NULL, &hKey, NULL);

RegSetValueEx(hKey, L"BgImage", 0, REG_SZ,(BYTE*)path, len);
......

2 .注册表修改完以后,要通知系统刷新一下,如下就可以了

[System.Runtime.InteropServices.DllImport("Coredll")]
 private static extern IntPtr GetDesktopWindow();

[System.Runtime.InteropServices.DllImport("Coredll")]
  private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);

IntPtr hWindow = GetDesktopWindow();
 SendMessage((IntPtr)hWindow, 0x001A, 0, 0);

以上就完成了设置桌面背景的功能了。

上面是只是修改了sp主题风格的背景图片,并不改变现在使用的主题,如果想换个主题来使桌面图片更好看,也有办法哟,

更改注册表HKEY_CURRENT_USER//ControlPanel//Home下Scheme健值为主题文件的路径然后刷新一下就可以了。

其他的背景图片参考:
路径:HKEY_LOCAL_MACHONE/SOFTWARE/Microsoft/Shell/Rai/

各项对应的背景图片:

:MSScut/BKBitmapFile
 快速拨号
 
:ErrorBox/BKBitmapFile
 错误信息
 
:CallAlert/BKBitmapFile
 来电时的背景
 
:InformationBox/BKBitmapFile 
 信息
 
:MSCdial/BKBitmapFile  
 输入号码 
 
:MSClog/BKBitmapFile  
 通话记录
 
:MSCONTACTS/BKBitmapFile
 联系人
 
:MSCPROG/BKBitmapFile
 正在拨号
 
:MSStart/BKBitmapFile 
 开始菜单
 
:MSSYNCAPP/BKBitmapFile
 ActiveSync背景
 
:QuestionBox/BKBitmapFile 
 确认
 
:VolDlg/BKBitmapFile 
 耳机音量
 
......

  如果在对应的目录下,同时有BannerImage和BKBitmapFile,那么,前者图片大小为176×20,后者为176×160。如果只有BKBitmapFile,图片大小为176×180。当然,如果你觉得麻烦,可以把BannerImage删除,直接把BKBitmapFile设置为176×180就可以了。

开关机画面

路径:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Splash Screen

开机(按顺序显示):
MSBitmap
CarrierBitmap

关机(按顺序显示):
MSShutdownBitmap
CarrierShutdownBitmap

开关机图片大小为176×220,也就是全屏显示的图片。

设置smartphone桌面背景图片相关推荐

  1. html文件如何设置为桌面壁纸,怎样把文件里的图片设置为桌面背景时全部是全屏图?最好详细一点的。...

    怎样把文件里的图片设置为桌面背景时全部是全屏图?最好详细一点的.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 怎样把文 ...

  2. Fedora15上实现桌面背景图片渐变

    2019独角兽企业重金招聘Python工程师标准>>> 桌面背景图片渐变,在Ubuntu中很容易实现.Ubuntu默认就自带了几款渐变壁纸.但换到Fedora后,貌似没发现有自带的渐 ...

  3. 修改计算机桌面壁纸影响计算机考试吗,若何修改调换计算机桌面背景图片

    <若何修改调换计算机桌面背景图片>由会员分享,可在线阅读,更多相关<若何修改调换计算机桌面背景图片(3页珍藏版)>请在技术文库上搜索. 1.韧耐距荤丢郧瞄宵汤隧匣龋侥撤东取滤傣 ...

  4. win7自定义随机更换显示桌面背景图片

    在网上看到了好几张漂亮的图片,都想作为桌面背景图片,随机更换,于是搜索方法,因为win7自带的主题有的就是随机更换背景的,所以想着自己是不是可以新建一个主题,也能实现那个效果. 果然,还是微软强悍- ...

  5. [css] 如何使用css3实现一个div设置多张背景图片?

    [css] 如何使用css3实现一个div设置多张背景图片? background-image:url("1.jpg"),url("2.jpg"),url(&q ...

  6. 安装插件设置Intellij IDEA背景图片

    安装插件设置Intellij IDEA背景图片 1.打开settings窗口 2.在Plugins搜索框里输入Background Image Plus,在仓库里搜索 3.单击Background I ...

  7. iOS设置UITableView的背景图片,以及不显示多余的空Cell

    2019独角兽企业重金招聘Python工程师标准>>> 设置UITableView的背景图片: UIImageView *imageView=[[UIImageView alloc] ...

  8. html如何设置网页的背景图片,使放大或缩小浏览器时,页面排版和背景可以随浏览器放大缩小而排版不会改变,

    用DIV+CSS写网页背景代码时,应该先写一个DIV,在这个DIV的CSS里面添加背景图片,并设置其margin为auto,宽度为100%或者auto:然后在这个DIV里面在写一个DIV,在第二个DI ...

  9. html根据PC手机设置不同背景图,Html-根据不同的分辨率设置不同的背景图片

    @media only screen and (min-width: 1024px)     //当分辨率width >= 1024px 时使用1.jpg作为背景图片 { .bg{ backgr ...

最新文章

  1. Android文件的下载
  2. Excel超级链接方式应用技巧
  3. 史上最大的实体关系抽取数据集!清华大学自然语言处理团队发布 FewRel...
  4. linux automake-1.16 编译错误 Try `--no-discard-stderr' if option outputs to stderr
  5. HDU-5119 Happy Matt Friends
  6. Windows 2003性能监视器中的计数器名称变成数字的解决方法
  7. Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符
  8. ros melodic控制真实机械臂之等周期输出插补点
  9. Android内核开发:图解Android系统的启动过程
  10. 非旋Treap——维护数列
  11. 为了搞清深度学习的随机梯度下降我复习了下微积分
  12. 蛋白质结构预测方案总结
  13. 数学计算软件(Matlab、Mathematica)网页版
  14. 华为云开天aPaaS服务全球落地,聚力并蓄不断创新,共建生态网络
  15. R语言 forestplot 包画森林图
  16. 如何通过平台注册到过期域名?
  17. mapstruct使用的正确姿势
  18. 网课-文献管理与信息分析-罗昭峰作业答案(二)
  19. 惠普HP DesignJet 500 Plus 打印机驱动
  20. 华为ws851虚拟服务器,ws851(华为荣耀ws851评测)

热门文章

  1. 基因共表达网络分析java,基因共表达网络分析-WGCNA
  2. 团队目标经常无法达成,应该怎么办?
  3. 中文、英文、数字、特殊字符限制
  4. 小程序的优势和劣势有哪些?
  5. 【数学建模】预测模型笔记之灰色预测
  6. java中利用itext编辑pdf
  7. Best Windows App
  8. 灰色预测GM(1,n)模型_python
  9. php判断某日期是哪一年的第几周
  10. 文件下载或者预览(download)