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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值