我需要在系统范围内将表单显示为顶级,例如在屏幕上的/所有/其他窗口上。我确实意识到这通常是/糟糕的 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/