Изменить тему Windows Mobile 5 через C # - PullRequest
1 голос
/ 11 февраля 2010

Я пытаюсь найти способ изменить тему устройства Windows Mobile 5 из моего программного обеспечения. У кого-нибудь есть опыт в этой области?

Dylan

1 Ответ

4 голосов
/ 18 февраля 2010

Вы можете установить соответствующие записи в реестре, а затем выполнить SendMessage для обновления экрана сегодня.


  • HKEY_CURRENT_USER \ Software \ Microsoft \ Today \ Skin
  • HKEY_CURRENT_USER \Программное обеспечение \ Microsoft \ Today \ UseStartImage
  • Все значения в HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Today \ (ThemeFileName)
  • HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Color \ SHColor
  • HKEY_LOCAL_MACHПрограммное обеспечение \ Microsoft \ Color \ BaseHue
  • Все значения в HKEY_LOCAL_MACHINE \ Программное обеспечение \ Microsoft \ Color \ (ColorNumber)
  • HKEY_LOCAL_MACHINE \ System \ GWE \ SysColor

*Пример кода 1020 * 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

...