Windows API触发墙纸随机播放

Mad*_*d0g 6 .net windows winapi windows-7

有没有办法在Windows壁纸幻灯片中触发洗牌?最好是我可以从.net使用的东西

编辑:所以我正在尝试使用IActiveDesktop接口,我从这里得到它,我试图像这样使用它:

public static IActiveDesktop GetActiveDesktop()
{
    Type typeActiveDesktop = Type.GetTypeFromCLSID(new Guid("{75048700-EF1F-11D0-9888-006097DEACF9}"));
    return (IActiveDesktop) Activator.CreateInstance(typeActiveDesktop);
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它:

IActiveDesktop dt = GetActiveDesktop();
dt.ApplyChanges(AD_APPLY.ALL | AD_APPLY.FORCE | AD_APPLY.BUFFERED_REFRESH);
Run Code Online (Sandbox Code Playgroud)

我运行代码时没有任何反应,也没有错误.

Flo*_*011 3

请尝试以下操作:

您的主题位于 C:\Users\USERNAME\AppData\Local\Microsoft\Windows\Themes\.theme

打开 .theme 文件并更新 [Slideshow] 部分中的 Shuffle 标志:

[Slideshow]     
Shuffle=1
Run Code Online (Sandbox Code Playgroud)

然后使用IActiveDesktop接口重新加载主题,使用以下参数调用ApplyChange:

AD_APPLY_ALL | AD_APPLY_FORCE | AD_APPLY_BUFFERED_REFRESH