如何使用C#或VB.net为不同的显示器设置不同的背景?

Jeanine Zhang-MSFT 11,356 信誉分 Microsoft 外部员工
2024-02-01T06:57:34.4133333+00:00

我有一个3个显示器的设置,每个显示器都有不同的尺寸和分辨率。我想用C#或VB.Net编写一个程序,让我设置一个幻灯片放映风格的桌面背景更改,为每个显示器设置一个不同的目录,里面装满了图像。问题是,我所知道的只是如何同时更改这三个监视器的桌面背景图像(使用SystemParametersInfo API调用),但它不允许您分配不同的图像-所有监视器都得到相同的图像。我只需要知道它叫什么,告诉它把X图像放在Y号显示器上。   我也试着通过注册表来做这件事,但我找不到将图像分配给特定监视器的键。它的幻灯片放映功能只有一个目录列表(Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers\SSlideshowDirectoryPath1)

总结自How do I set different backgrounds to different monitors using C# or VB.net? - Microsoft Q&A

Windows 开发 | Windows API - Win32
0 个注释 无注释

问题作者接受的答案

  1. Xiaopo Yang - MSFT 12,736 信誉分 Microsoft 外部员工
    2024-02-01T07:17:05.4166667+00:00

    你好, IDesktopWallpaper::SetWallpaper 可以设置每个显示器的桌面墙纸. 参考代码.

    此答案是否有帮助?

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。