技术开发 频道

[CF.Skills]在Pocket PC上编程设置壁纸


【IT168技术文档】

  写下这篇帖子是来源于kevens的问题,如何编程设置壁纸?
  我查看了msdn的一篇文章,提到了注册表中主题的位置,而且你也的确可以在你的设备上找到他.

  但是又没有不操作注册表也能编程实现更换壁纸的功能呢?
  当然是有的,msdn最后给出的一句PostMessege了给了我提示.
  来看看代码吧:
class Wallpaper { /**//// <summary> /// 用来说明是post还是send /// </summary> private const int HWND_BROADCAST = 0xffff; /**//// <summary> /// 消息类型,详见winuser.h /// </summary> private const uint WM_WININICHANGE = 0x001A; public static void ChangeWallPaper(String fileFullName) { //将图片Copy到Windows目录下 //横屏 File.Copy(fileFullName, @"\Windows\stwater_320_240.jpg", true); //竖屏 File.Copy(fileFullName, @"\Windows\stwater_240_320.jpg", true); // 发送消息改变today screen SendMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0); } [DllImport("coredll.dll")] private static extern int SendMessage(IntPtr hWnd, uint msg, int wParam, int lParam); }
  用的时候只需将文件名传入,注意这里的stwaterXXX是属于OS的metabase,不要改动它。更多的metabase的内容请参考这里。

  demo程序如下:

  Option-->Browse-->选择你的图片 

  设置效果如下:
0
相关文章