c# - 通过 C# 更改 Windows Mobile 5 主题

标签 c# windows-mobile compact-framework themes

我正在尝试找到一种方法来从我的软件中更改 Windows Mobile 5 设备的主题。有没有人有这方面的经验?

迪伦

最佳答案

您可以设置相关的注册表项,然后执行 SendMessage 以刷新今天的屏幕。


  • HKEY_CURRENT_USER\Software\Microsoft\Today\Skin
  • HKEY_CURRENT_USER\Software\Microsoft\Today\UseStartImage
  • HKEY_CURRENT_USER\Software\Microsoft\Today\(ThemeFileName) 下的所有值
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Color\SHColor
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Color\BaseHue
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Color\(ColorNumber) 下的所有值
  • HKEY_LOCAL_MACHINE\System\GWE\SysColor

C# 代码示例:

using System.Runtime.InteropServices;
using Microsoft.Win32;
...
[DllImport("coredll.dll")]
private static extern int SendMessage(IntPtr hWnd, uint msg, int wParam, int lParam);
...
public const int HWND_BROADCAST = 0xffff;
public const int WM_WININICHANGE = 0x001A;

// Copy wallpaper file to windows directory
File.Copy(@"\My Documents\My Pictures\ImageFileName.jpg", @"\Windows\stwater_240_240.jpg", true);                

// Update registry
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Today", "Wall", "ImageFileName");

// Send message to refresh today screen
SendMessage((IntPtr)HWND_BROADCAST, WM_WININICHANGE, 0xF2, 0);

查看更多详细信息:

http://windowsmobiledn.com/qa-how-to-install-a-today-theme-file/

http://windowsmobiledn.com/forum/viewtopic.php?t=335

http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesnative/thread/83a0420b-1c8f-4201-b910-693b3b9a3b12

关于c# - 通过 C# 更改 Windows Mobile 5 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2245560/

相关文章:

c# - CE 支持 TextRenderer 吗?

windows-mobile - 检测移动设备上是否安装了 Compact Framework

c# - 如何将文件上传到blob容器?

c# - 可选参数

c# - 从图像文件创建视频?

compact-framework - .net Compact Framework 调用堆栈 - 如何?

Windows XPE 上的 .NET 紧凑型框架

c# - 使用 DotNetOpenAuth 获取数据?

c# - 在主线程中捕获异步异常

wcf - 如何将数据推送到.NET CF客户端?