【Windows 10 应用开发】如何防止应用程序被截屏
2017-06-06 10:01
435 查看
今天老周只想跟大伙们分享一个小技巧,是的,小小的技巧,很简单,保证你能学会的,要是学不会,可以考虑跳泰山。
有些时候,我们可能会想到不要让应用程序界面上显示的内容被截屏,要阻止应用界面呈现在截图上,可以在 ApplicationView 类上找答案,因为这个行为是跟应用程序视图有直接关系的。
我们只需要设置一个属性就成了——IsScreenCaptureEnabled,如果允许程序被捕捉到,就设置为 true,要禁止被捕捉,设置为 false 就好了。简单吧。
看一个例子,先看XAML布局。
重点是 CheckBox 控件,我处理了它的 Checked 和 UnChecked 事件,如果它被选中,就禁止应用界面被捕捉;如果没选中,就允许捕捉。
下面是实现代码。
来,看看效果。首先,CheckBox 是没选中的,即允许截屏,这时候截取到的超清无水印图片如下。
然后,我们选上 CheckBox 控件,再截屏,得到的是一片黑乎乎的东西。
这个示例很简单,我就不提供源代码了,大家完全可以自己动手的。
有些时候,我们可能会想到不要让应用程序界面上显示的内容被截屏,要阻止应用界面呈现在截图上,可以在 ApplicationView 类上找答案,因为这个行为是跟应用程序视图有直接关系的。
我们只需要设置一个属性就成了——IsScreenCaptureEnabled,如果允许程序被捕捉到,就设置为 true,要禁止被捕捉,设置为 false 就好了。简单吧。
看一个例子,先看XAML布局。
<Grid Margin="15"> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition/> <RowDefinition Height="auto"/> </Grid.RowDefinitions> <TextBlock Text="中国高富帅的形象代表" FontSize="25" HorizontalAlignment="Center" Margin="0,6"/> <Image Grid.Row="1" Margin="3" Source="Assets\1.png" /> <CheckBox Grid.Row="2" Margin="0,8" Content="禁止被截屏" FontSize="18" HorizontalAlignment="Center" Checked="OnChecked" Unchecked="OnUnChecked"/> </Grid>
重点是 CheckBox 控件,我处理了它的 Checked 和 UnChecked 事件,如果它被选中,就禁止应用界面被捕捉;如果没选中,就允许捕捉。
下面是实现代码。
ApplicationView appView = ApplicationView.GetForCurrentView(); private void OnChecked(object sender, RoutedEventArgs e) { appView.IsScreenCaptureEnabled = false; } private void OnUnChecked(object sender, RoutedEventArgs e) { appView.IsScreenCaptureEnabled = true; }
来,看看效果。首先,CheckBox 是没选中的,即允许截屏,这时候截取到的超清无水印图片如下。
然后,我们选上 CheckBox 控件,再截屏,得到的是一片黑乎乎的东西。
这个示例很简单,我就不提供源代码了,大家完全可以自己动手的。
相关文章推荐
- Windows开发应用(1)如何创建应用程序项目
- 1)Win10-UWA开发 UWP应用操作方法、Windows 10应用程序的指南
- 1)Win10-UWA开发 UWP应用操作方法、Windows 10应用程序的指南
- Windows程序员如何转向Linux开发应用?
- Windows程序员如何转向Linux开发应用?
- Windows 8 应用开发权威指南 之 应用程序的数据存储(1)应用程序安装目录操作
- 【万里征程——Windows App开发】如何保存、读取、删除应用数据
- VB.NET 开发的WINDOWS 界面控件如何应用在网页中
- [转载]教您如何应用PHP开发出安全的应用程序
- 使用NetBeans开发Java桌面应用程序时修改应用的UI样式为Windows
- Windows 8 应用开发权威指南 之 应用程序的数据存储(1)应用程序安装目录操作
- 如何使一个iPhone应用 - iPhone开发的秘密审查一个完整的分步应用程序开发课程
- 如何在Windows 7环境下开发应用?
- Windows桌面应用开发—应用程序入口点WinMain
- 【Android应用开发】-(10)一个应用程序开发的蜕变过程
- 基于Visual C++2010与windows SDK fo windows7开发Windows 7的多点触摸特性应用程序(2)--手势识别应用
- 如何应用TCP/IP的套接字开发网络通信应用程序
- Soap技术在Windows应用程序开发中的应用B/S与C/S混合模式开发[草稿]
- iPad应用开发实践指南:菜鸟如何用ios 5开发ipad上的复杂应用程序
- Windows中使用Python和C/C++联合开发应用程序起步(Python/C API应用)