Windows Phone APP中禁用截图

简介: 原文:Windows Phone APP中禁用截图Windows Phone 8 有系统自带的截图功能,快捷键:电源键+Win键,可以随意截图。 Windows Phone 更新GDR2后新增了一个隐藏功能,允许APP禁用截图功能。
原文: Windows Phone APP中禁用截图

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

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

PhoneApplicationPage.IsScreenCaptureEnabled

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

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

目前在真机上测试有效,没弄懂模拟器如何像真机一样截图,所以模拟器上没成。

效果如下图

 

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

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

目录
相关文章
|
7月前
|
运维 iOS开发 Windows
windows电脑备案ios APP获取公钥和证书指纹Sha-1值的方法
在阿里云进行APP备案、在备案IOS端的环节的时候,发现需要我们将p12证书安装在电脑上,再用xcode或或钥匙串访问来获取这个证书的公钥和sha-1值。 但是大部分开发uniapp应用的同学们,或者进行发布的运维人员的电脑都是windows,无法按照阿里云的教程来获取ios的公钥和sha-1。备案就被卡主了。 这里介绍下另一个方法,就是使用香蕉云编来在线上传证书获取。如下图所示,打开香蕉云编后,找到下图这个功能
1047 0
|
10月前
|
Java 数据安全/隐私保护 计算机视觉
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本内容提供Java生成自定义图片的示例代码,涵盖基础图像创建、文本添加及保存功能,适合学习2D图形编程。包括教学示例图片生成、文本图层处理和数字水印技术实现方案。
|
10月前
|
Java
四大银行虚拟仿真app,银行卡p图软件,银行转账截图生成器【jar实现仅供娱乐用途】
这是一款增强版银行系统程序,包含完整账户管理、交易记录、转账及账户流水查询功能。代码采用Java编写,通过`BankSystem`类实现账户创建与管理。
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
342 0
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
10月前
|
Java 数据安全/隐私保护
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本项目提供了一套基于Java的图片处理教学方案,包含自定义图片生成、图像水印添加及合法电子凭证生成技术示例。
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
302 11
|
Java 应用服务中间件 开发工具
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
229 2
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
183 2
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
338 1
|
PHP 开发工具 git
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
275 1

热门文章

最新文章