c# - 如何使用 C# 使表单系统成为模态?

标签 c# .net security

我需要在系统范围内将表单显示为顶级,例如在屏幕上的/所有/其他窗口上。我确实意识到这通常是/糟糕的 UI 实践/,但我有一个非常具体的场景。

我们打算将普通的 Windows PC 用于 POS 收银机。屏幕上有一个选项可以打开现金抽屉。在店员不注意的情况下,如果有人只是在屏幕上按一下东西就可以拿到钱,那将是相当糟糕的。因此,我们为个人电脑配备了 RFID 阅读器,每个店员都有他/她自己的 RFID 卡,用于身份验证。

但是我需要一种机制来在职员离开时锁定计算机(或使其无法使用)。注销似乎太麻烦了。

欢迎任何想法。

唱片, 德扬

最佳答案

好吧,经过一天的反复试验,我找到了某种解决方案。

它包括以下步骤:

1. 当按下“锁定”按钮时,将创建新的(空的)/desktop/。 程序在此桌面上以全屏形式和登录程序运行。 在此桌面上没有其他可切换或运行的内容。

2。 任务管理器已通过注册表禁用。 当然,不请自来的人仍然可以访问 Ctrl-Alt-Delete 菜单,但他不会在那里造成任何特别的伤害。

3。 Alt-F4 等被禁用。

4. 进行身份验证后,程序将切换回原始桌面,一切照常进行。

当然,需要一些 P/Invoking。 如果有人想做类似的事情,也许他/她会发现我的简单示例很有帮助 - link text

唱片, 德扬

关于c# - 如何使用 C# 使表单系统成为模态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1170738/

相关文章:

security - Solr 是否存储索引后文档的原始内容?

c# - 如何删除 XDocument 中非根节点的 xmlns 属性?

c# - 将 WindowState 设置为最大化会导致窗口出现得太早

c# - 自定义 .net azure 数据工厂事件

java - 在java代码中将密码存储为char[]密码= "my password".toCharArray()是否安全?

php - 无需隐藏所有形式的输入即可防止 CSRF

c# - 在 SQL Server 中创建 ASCII SHA-512 哈希

c# - OverlapCircleAll 没有拾取其他对象

c# - Entity Framework Core 唯一索引测试

.net - 用于 .net Core 的 Amazon DynamoDb ORM