在Windows 10的TaskView中停止UWP应用上的屏幕捕获

时间:2018-07-10 07:04:32

标签: c# uwp win-universal-app windows-10-universal

我通过以下方式停止在UWP应用中截屏

ApplicationView.GetForCurrentView().IsScreenCaptureEnabled = false;

但是,该应用仍在Windows 10的Taskview上显示其预览 enter image description here

有人可以让我知道如何在“任务”视图上禁用该应用的预览

这是当前的TaskView enter image description here

这就是我需要的 enter image description here

1 个答案:

答案 0 :(得分:1)

捕获应用程序的缩略图看起来像是系统行为,我不知道如何禁用它。

但是,由于捕获仅在用户按下Alt+Tab或单击任务栏上的任务切换按钮时发生,因此在系统对应用进行屏幕捕获之前,有机会用覆盖覆盖应用。

首先添加一个不透明的叠加层,并将其初始可见性设置为Collapsed

<Grid>
    <TextBlock FontSize="50" Text="Your controls here!" />
    <Grid Background="Black" x:Name="overlay" Visibility="Collapsed" />
</Grid>

然后注册应用程序窗口的Activated事件的处理程序

Window.Current.Activated += Current_Activated;

在停用/激活窗口时显示/隐藏叠加层,

private void Current_Activated(object sender, Windows.UI.Core.WindowActivatedEventArgs e)
{
    if (e.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.Deactivated)
    {
        overlay.Visibility = Visibility.Visible;
    }
    else
    {
        overlay.Visibility = Visibility.Collapsed;
    }
}