I know how to change wallpaper by win32 call SystemParametersInfo with SPI_SETDESKWALLPAPER as paramater. Can I also change background pattern and display (tile or center) by any function call? Or are there any other methods that I can change these settings without using control panel's "Display" program. In other word, can I change these settings winthin my program? Many thanks!  
Who is Participating?
mikeblasConnect With a Mentor Commented:
The IActiveDeskotp interface is documented in the Platform SDK, which is included in MSDN. It's also downloadable from http://www.microsoft.com/, and I think it's available online at http://www.microsoft.com/msdn/ in the Preimum Content area.

.B ekiM

In Windows 95, this information is stored both in the [Desktop] section in WIN.INI and in the registry under the HKEY_CURRENT_USER\Control Panel\desktop key. I am not sure which one is superior the other.

Pattern=254 2 250 138 186 162 190 128

"Wallpaper" is the name of a bitmap file
If none is selected, the value is empty in the registry and "(none)" in WIN.INI. (Without quotation marks.)

"TileWallpaper" is a string boolean telling if to tile (1) or center (0)

"Pattern" is eight space-separated byte values (0-255) of the bit mask for the pattern

If you modify the TileWallpaper value, the setting will probably be updated when you call SystemParametersInfo with SPI_SETDESKWALLPAPER.
According to system documentation you can also use SPI_SETDESKPATTERN to modify the Pattern section.

Don't modify the registry directly when there are APIs that do what you want.  Instead of changing the registry, use the IActiveDesktop interface.

.B ekiM

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

paiAuthor Commented:
Where can I find IActiveDesktop? And where can I find the documentation for that? I use VC++ 4.0, and I can not find it. I intend to use it in Windows 95. Thanks!
paiAuthor Commented:
To 2good,

I'm satisfied by your answer. Please answer the question, so I can give you credits.

What version of Win95 and/or WinNT supports IActiveDesktop?

From its name it sounds like an IE4/Win98 extension...

paiAuthor Commented:
ya! I have trouble to find out how IActiveDestop works in regular Windows 95. Could mikeblas give us a little bit more explanation?

Try overriding the Desktop Window WindowProc function
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.