Controlling Dual Monitor Slideshow RRS feed

  • Question

  • I have a dual monitor setup, with the windows 10 slideshow showing a different image for each monitor. When I use the desktop menu "Next desktop background", it changes the background for monitor 0. Next time I select it, it changes the background for monitor 1.

    The app I am trying to write, apart from displaying the path of each picture on the appropriate monitor, and various image info, is to advance the desktop image for a particular monitor. If I use the IDesktopWallpaper interface, and AdvanceSlideshow,

                var wallpaper = (IDesktopWallpaper)(new DesktopWallpaperClass());
                 wallpaper.AdvanceSlideshow(null, DesktopSlideshowDirection.Forward);

    if I use anyhthing other than null for the path, I get a "not implemented" error.

    If I use

    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, null, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE) with anything other than null as the path, I get a black screen.

    I have tried various type of path - String, StringBuilder, string.ToCharArray() and a null terminated char[], and it all works the same on both usages.

    My questions are :

    a) Is it possible, using the display path to do what I want, and

    b) How does windows decide which monitor is actioned using the desktop menu item?

    Thanks in advance!


    Tuesday, March 24, 2020 7:06 AM

All replies

  • I tested in C++ and it also returns E_NOTIMPL
    Tuesday, March 24, 2020 8:47 AM