我正在 WPF 中编写屏幕保护程序。我有屏幕保护程序工作,但是,它只显示在我的主显示器上。当用户有多个显示器时,有没有办法“黑屏”或在其他显示器上绘制图形?我做了一些搜索,但没有找到任何相关的东西。
更新
从下面 ananthonline 的回答中,我能够使用以下窗口在非主显示器上完成“黑屏”效果:
<Window x:Class="ScreenSaver.BlackOut"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Cursor="None" WindowStyle="None" ResizeMode="NoResize" Background="Black">
</Window>
App.xaml.cs
并使用以下过程为每个屏幕初始化一个:
foreach (Screen s in Screen.AllScreens)
{
if (s != Screen.PrimaryScreen)
{
BlackOut blackOut = new BlackOut();
blackOut.Top = s.WorkingArea.Top;
blackOut.Left = s.WorkingArea.Left;
blackOut.Width = s.WorkingArea.Width;
blackOut.Height = s.WorkingArea.Height;
blackOut.Show();
}
}
System.Windows.Forms
请注意,访问Screen
该类需要导入到。