• Windows Phone APP中禁用截图


    Windows Phone 8 有系统自带的截图功能,快捷键:电源键+Win键,可以随意截图。

    Windows Phone 更新GDR2后新增了一个隐藏功能,允许APP禁用截图功能。

    PhoneApplicationPage.IsScreenCaptureEnabled
    

     这个隐藏的属性需要通过反射来访问和修改状态。

     public static  class PhoneApplicationPageExtensionMethods
        {

        public
    static bool CanSetScreenCaptureEnabled(this PhoneApplicationPage page) { return Environment.OSVersion.Version >= new Version(8, 0, 10322); } public static void SetScreenCaptureEnabled(this PhoneApplicationPage page, bool enabled) { var propertyInfo = typeof(PhoneApplicationPage).GetProperty("IsScreenCaptureEnabled"); if (propertyInfo == null) { throw new NotSupportedException("Not supported in this Windows Phone version!"); } propertyInfo.SetValue(page, enabled); } public static bool GetScreenCaptureEnabled(this PhoneApplicationPage page) { var propertyInfo = typeof(PhoneApplicationPage).GetProperty("IsScreenCaptureEnabled"); if (propertyInfo == null) { throw new NotSupportedException("Not supported in this Windows Phone version!"); } return (bool)propertyInfo.GetValue(page); } }
    }

    调用CanSetScreenCaptureEnabled()方法检测Windows Phone版本是否符合要求(version 8.0.10322以上)。符合条件,然后就通过扩展方法GetScreenCaptureEnabled()和SetScreenCaptureEnabled()来修改PhoneApplicationPage.IsScreenCaptureEnabled属性。
    使用:

          // 构造函数
            public MainPage()
            {
                InitializeComponent();
    
                if (this.CanSetScreenCaptureEnabled())
                {
                    this.SetScreenCaptureEnabled(false);
                }
            }

    目前在真机(系统为WP8,WP8.1上效果如何不懂)上测试有效,没弄懂模拟器如何像真机一样截图,所以模拟器上没成。

    效果如下图

    以后就有些东西不能截图了( ╯□╰ )

     对了,需要看原文的戳:Disabling screenshot functionality in a Windows Phone app  。

  • 相关阅读:
    JQuery插件,轻量级表单模型验证(续 二)
    关于DateTimeOffset的爱恨情仇
    JQuery插件,轻量级表单模型验证(续 一)
    asp.net 远程模型验证
    JQuery插件,轻量级表单模型验证
    Ef Core增加Sql方法
    初识依赖注入
    Core下简易WebApi
    sql语句实现行转列练习
    sql语句基本查询操作
  • 原文地址:https://www.cnblogs.com/shiyix/p/3656195.html
Copyright © 2020-2023  润新知