设置smartphone桌面背景图片

 刚作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,也就是全屏显示的图片。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值