• 0

[C++/WinCE] Programatically Change Wallpaper


Question

SPI_SETDESKWALLPAPER doesn't exist in Windows CE. Does anyone know of another way I can programmaically change the wallpaper? If I manually change the registry key (in HKCU\ControlPanel\Desktop) the desktop doesn't redraw. Is there a way I can notify the shell of the update and get it to redraw?

2 answers to this question

Recommended Posts

  • 0

Maybe you have access to the IActiveDesktop interface on CE?

	IActiveDesktop* iad = {0};
	CHECKHRES(::CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,
                      IID_IActiveDesktop, reinterpret_cast<void**>(&iad) ) );
	if(iad != NULL)
	{
  CHECKHRES(iad->SetWallpaper(wallPaperFileName,0));
  CHECKHRES(iad->ApplyChanges(AD_APPLY_ALL));
  iad->Release();
	}

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.