我尝试使用COM中公开的IDesktopWallpaper在Windows 10上推进背景幻灯片显示。
Here is the description of that native class
我使用的是here所描述的ComImport方法。
我的代码:
var wallpaper = new DesktopWallpaperClass();
for (uint i = 0; i < wallpaper.GetMonitorDevicePathCount(); i++)
{
try
{
string path = wallpaper.GetMonitorDevicePathAt(i);
wallpaper.AdvanceSlideshow(path, DesktopSlideshowDirection.Forward);
}
catch (Exception ex)
{}
}
但调用AdvanceSlideShow时出现异常错误
"The method or operation is not implemented"
这是否意味着它根本无法运作? 如果没有,我怎样才能推进幻灯片放映?
答案 0 :(得分:0)
实施缺失似乎实际上是有道理的。
您只能通过推进任何显示器来推进任何显示器上的幻灯片显示,无论您拥有多少显示器,它都会像一组显示器一样通过它们前进。因此,指定一个monitorId是没有意义的,因为幻灯片放映了一组图像,监视器不能自由关联。
所有这些都是因为幻灯片不能反向进行。但是,似乎这个想法是,由于幻灯片放映设置为随机播放,因此不会存储向后方向。
因此我们陷入了一组抽象的图像,由于随机播放而失去了设定的优势。
哦,好吧。