Xamarin 窗体:Windows 10 通用应用程序阻止屏幕截图

Posted

技术标签:

【中文标题】Xamarin 窗体:Windows 10 通用应用程序阻止屏幕截图【英文标题】:Xamarin forms: Windows 10 Universal App prevent screenshot 【发布时间】:2017-07-02 16:38:04 【问题描述】:

您好,我正在使用 Xamarin 表单 PCL 项目构建应用程序。在这个应用程序中,我想阻止用户截取屏幕截图,所以我尝试了 android-

this.Window.SetFlags(WindowManagerFlags.Secure, WindowManagerFlags.Secure);

在 mainactivity.cs 中

对于 Windows 10 和 8.1,我发现 -

Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().IsScreenCaptureEnabled = false;

我试图把它放在 UWP 项目的 MainPage.xaml.cs 中。但在此之后我的应用程序根本没有启动。只显示启动画面。

这行代码放在哪里?

public sealed partial class MainPage

    public MainPage()
    
        this.InitializeComponent();
        Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().IsScreenCaptureEnabled = false;
        LoadApplication(new FISE.App());
    

【问题讨论】:

【参考方案1】:

你在某处打电话 Window.Current.Activate() 吗?这应该在 App.xaml.cs 中

【讨论】:

应该在设置Window.Current.Content之后进行。在主页上做这件事听起来很容易发生之前 我试过// Place the frame in the current Window Window.Current.Content = rootFrame; Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().IsScreenCaptureEnabled = false; 我设置了一个大约 10 秒的计时器,然后我设置了 Windows.UI.ViewManagement.ApplicationView.GetForCurrentView(‌​).IsScreenCaptureEna‌​bled = false; 它工作正常。但由于这个原因,我视图中的所有页面都变白了。

以上是关于Xamarin 窗体:Windows 10 通用应用程序阻止屏幕截图的主要内容,如果未能解决你的问题,请参考以下文章

跨 Android/iOS 的 Xamarin 通用 Xamarin.Forms 代码

Windows 窗体通用继承

MediaPlayer 通用 Windows 应用程序

在 Xamarin 中关闭子窗体后触发 Main Page 的功能

如何在 Windows 窗体中创建 GDI 泄漏!

如何在 Windows 窗体应用程序设置中记录窗口位置