热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#学习教程:如何在WPF中运行我的应用程序时禁用“PRINTSCREEN”按钮?分享

如何在WPF中运行我的应用程序时禁用“PRINTSCREEN”按钮?如何在WPF应用程序运行时禁用“打印屏幕”function?用例是我的客户希望避免不必要地复制来自外部世界的有价

如何在WPF中运行我的应用程序时禁用“PRINT SCREEN”按钮?

如何在WPF应用程序运行时禁用“打印屏幕”function?

用例是我的客户希望避免不必要地复制来自外部世界的有价值的以患者为中心的数据,并且它们提供物理安全性以防止人们通过非数字手段获取数据。

禁止打印是不可能的,即使有可能,手机相机也很容易避开打印 。 许多都在百万像素分辨率范围内,这使得某人很容易获得他们想要的信息。

如果你想在你的键盘上禁用Print Screen Key, Jodrell的答案就会提供一种方法 (理解它不会阻止人们进行打印,并且一个坚定的用户会找到解决方法)。

真的,这一切都归结为信任。 如果雇主不能相信他们的员工不会删除大多数司法管辖区已经受到法律保护的数据(美国的HIPAA),那么就会有一个更大的问题。

好的,如果您的应用程序部署在用户无法使用摄像头的环境中,那么它是可能的,而且确实很有用。

首先,我使用了RegisterHotKey和UnregisterHotKey API调用,这里记录了http://pinvoke.net/default.aspx/user32.RegisterHotKey ,如这篇相当古老的文章所述http://msdn.microsoft.com/en-我们/ magazine / cc163713.aspx 。

我在Window_Load事件中注册了IDHOT_SNAPDESKTOP热键,并在Window_Load中注销了它。 尝试在构造函数中执行此操作使我WindowInteropHelper(this)使用WindowInteropHelper(this)方法获得一致的句柄。

如果你想做的不仅仅是忽略键,你可以设置一个Windows消息处理程序,使用一种WndProc,

 HwndSource source = HwndSource.FromHwnd(); source.AddHook(); 

如上所述制作句柄,以及自己的WndProc实现。

到目前为止,我还不知道如何“不”处理热键并让Windows执行其正常行为,当然,除非注销热键。

它不是很优雅或“WPF”,但它对我有用。


正如@ghord评论

EnsureHandle()使用对于在构造函数中获取处理程序看起来很有用。

简单:

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

简单地说,你不能。 “打印屏幕”只是将屏幕上的像素复制到剪贴板,而不是应用程序的一部分。

基本上你可以挂钩到ClipBoard事件,然后将图像复制为null,如果有人这样做的话。 所以他们可以复制图像,但它会被重置:

看看这个:

剪贴板事件C#

或者在计时器中,检查剪贴板的内容,并在设置为图片后立即将其清除。

不,没办法那样做。 即使您在应用程序中捕获“打印屏幕”键,用户也可能将焦点设置为其他应用程序,然后执行“打印”屏幕(将应用程序放在一边等)。

唯一的方法是在后台创建一个虚拟应用程序,使用键盘钩子和filter打印屏幕捕获所有击键,但这将发生在所有应用程序而不仅仅是你的。 而且乔治说用户也可以使用手机相机!

我认为Microsoft Rights Management System可以提供帮助。 试试看。 以下是链接:

微软权利管理系统

我能想到的唯一方法是使用本机Windows API(SetWindowsHookEx)来捕获所有击键并过滤掉PrintScreen键。 然而,这将涉及创建本机(即非托管)DLL以实际执行击键处理。

上述就是C#学习教程:如何在WPF中运行我的应用程序时禁用“PRINT SCREEN”按钮?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记


推荐阅读
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • Python中sys模块的功能及用法详解
    本文详细介绍了Python中sys模块的功能及用法,包括对解释器参数和功能的访问、命令行参数列表、字节顺序指示符、编译模块名称等。同时还介绍了sys模块中的新功能和call_tracing函数的用法。推荐学习《Python教程》以深入了解。 ... [详细]
  • 本文介绍了NetCore WebAPI开发的探索过程,包括新建项目、运行接口获取数据、跨平台部署等。同时还提供了客户端访问代码示例,包括Post函数、服务器post地址、api参数等。详细讲解了部署模式选择、框架依赖和独立部署的区别,以及在Windows和Linux平台上的部署方法。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • PHP5.5在Windows下安装memcached的方法下载服务端资源
    本文介绍了在Windows下安装PHP5.5的memcached的方法,包括下载服务端资源、解压、注册、卸载、启动和停止等步骤,并提供了相关的学习推荐。同时还提供了下载PHP在Windows下的php_memcache.dll文件的链接。 ... [详细]
  • 在加载一个第三方厂商的dll文件时,提示“找不到指定模块,加载失败”。由于缺乏必要的技术支持,百思不得期间。后来发现一个有用的工具 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • 以管理员身份打开命令行粘贴上面 ... [详细]
author-avatar
傻瑶叫一下来人fd_478
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有