zoukankan      html  css  js  c++  java
  • 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  。

  • 相关阅读:
    Swift基础
    win32多线程 (六)信号量 Synchronization
    win32 多线程 (五)Event
    win32多线程 (四) Mutex
    win32多线程(三) 死锁
    win32多线程 (二)线程同步之临界区 (critical sections)
    win32多线程 (一) 线程创建与结束等待
    简单Factory模式
    单键模式
    jquery中click事件重复绑定问题
  • 原文地址:https://www.cnblogs.com/shiyix/p/3656195.html
Copyright © 2011-2022 走看看