Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Windows 10的TaskView中停止UWP应用程序上的屏幕捕获_C#_Uwp_Win Universal App_Windows 10 Universal - Fatal编程技术网

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

C# 在Windows 10的TaskView中停止UWP应用程序上的屏幕捕获,c#,uwp,win-universal-app,windows-10-universal,C#,Uwp,Win Universal App,Windows 10 Universal,我停止在我的UWP应用程序上截屏 ApplicationView.GetForCurrentView().IsScreenCaptureEnabled = false; 不过,该应用程序仍在Windows10的Taskview上显示预览 有人能告诉我如何禁用应用程序的任务视图预览吗 这是当前的TaskView 这就是我需要它的方式 捕获应用程序的缩略图看起来像是一种系统行为,我不知道如何禁用它 但由于捕获仅在用户按下Alt+Tab或单击任务栏上的任务切换按钮时发生,因此在系统对应用程序进行

我停止在我的UWP应用程序上截屏

ApplicationView.GetForCurrentView().IsScreenCaptureEnabled = false;
不过,该应用程序仍在Windows10的Taskview上显示预览

有人能告诉我如何禁用应用程序的任务视图预览吗

这是当前的TaskView

这就是我需要它的方式
捕获应用程序的缩略图看起来像是一种系统行为,我不知道如何禁用它

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

首先添加不透明覆盖,并将其初始可见性设置为“折叠”

<Grid>
    <TextBlock FontSize="50" Text="Your controls here!" />
    <Grid Background="Black" x:Name="overlay" Visibility="Collapsed" />
</Grid>
在禁用/激活窗口时显示/隐藏覆盖

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;
    }
}

谢谢,它起作用了。但它还有其他问题。比如,如果用户点击任务栏或时钟,应用程序就会被停用。之后,用户必须明确单击应用程序才能激活。是的,你是对的。我想暂时显示覆盖图,只是为了捕捉,然后在捕捉完成后隐藏覆盖图。在调试过程中,我发现它不仅捕获了一次缩略图,实际上是应用程序窗口的实时视频录制!因此,我认为Windows 10操作系统很难满足您的要求,在Windows 10上也不起作用。
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;
    }
}