2010-02-11 5 views

Répondre

4

Vous pouvez définir les entrées de registre pertinentes, puis faites un SendMessage pour rafraîchir l'écran aujourd'hui.


  • HKEY_CURRENT_USER \ Software \ Microsoft \ Aujourd'hui \ peau
  • HKEY_CURRENT_USER \ Software \ Microsoft \ Aujourd'hui \ UseStartImage
  • Toutes les valeurs sous HKEY_CURRENT_USER \ Software \ Microsoft \ Aujourd'hui \ (ThemeFileName)
  • HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Color \ SHCouleur
  • HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Color \ BaseHue
  • Toutes les valeurs sous HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Color \ (ColorNumber)
  • HKEY_LOCAL_MACHINE \ System \ GWE \ SysCouleur

C# exemple de code:

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); 

Voir plus de détails à:

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

+0

Kudos, cela ressemble à la bonne réponse à moi. –

+0

Aucune des clés de registre que je peux trouver sur le périphérique mobile Windows. –

+0

Je suis désolé, mon mauvais, je les ai trouvés :) Vérification pour voir si cela fonctionne maintenant. –

Questions connexes