How can we disable users from changing wallpaper? Fyi, users can right-click on the desktop & choose menu "changing wallpaper".
I have tried to disable the show desktops (from gconf-editor) but it makes all the icons on the desktop invisible.They want the icons to be visible on the desktop but
disable the functions of changing wallpaper.
You would need to set mandatory default values for all the /desktop/gnome/background/* gconf keys. See the [JDS System Administration Guide|http://docs.sun.com/app/docs/doc/817-7306/gconf-0?l=en] for more details if you don't know what that means.
Given your other questions, however, it sounds like you should consider using the [JDS Configuration Manager|http://docs.sun.com/app/docs/coll/1221.1?l=en]. This tool gives you a browser-based GUI that allows you to centrally manage JDS desktops, and lock down certain features (including wallpapers) for different categories of users.
Note that this doesn't completely do what you want, it only prevents the user from running those desktop preferences windows. There are other ways for users to set wallpapers and screen resolutions, especially (but not only) via the command line.
If it's sufficient for you, though, the supported way to do it would be to remove those binaries from the list stored in the /desktop/gnome/lockdown/allowed_applications gconf key, and set the /desktop/gnome/lockdown/restrict_application_launching gconf key to true.
This way, unlike your solution, the menu items will not appear at all. See [Disabling features in the Java Desktop System|http://docs.sun.com/app/docs/doc/819-0918/lockdown-0?l=en] for more information.