如何使用C#制作表单系统模型?

如何使用C#制作表单系统模型?,c#,.net,security,C#,.net,Security,我需要将窗体显示为系统范围内的顶级窗口,例如屏幕上的over/all/other窗口。我确实意识到这通常是/糟糕的UI实践/,但我心里有非常具体的场景 我们打算使用普通的Windows PC进行POS现金登记。屏幕上有一个打开现金抽屉的选项。如果有人只是在屏幕上按一些东西,然后在店员不注意的情况下取钱,那就太糟糕了。因此,我们为电脑配备了RFID读卡器,每个职员都有自己的RFID卡,用于身份验证 然而,我需要一个机制来锁定计算机(或使其无法使用)时,办事员离开。注销似乎太麻烦了 欢迎任何意见 有

我需要将窗体显示为系统范围内的顶级窗口,例如屏幕上的over/all/other窗口。我确实意识到这通常是/糟糕的UI实践/,但我心里有非常具体的场景

我们打算使用普通的Windows PC进行POS现金登记。屏幕上有一个打开现金抽屉的选项。如果有人只是在屏幕上按一些东西,然后在店员不注意的情况下取钱,那就太糟糕了。因此,我们为电脑配备了RFID读卡器,每个职员都有自己的RFID卡,用于身份验证

然而,我需要一个机制来锁定计算机(或使其无法使用)时,办事员离开。注销似乎太麻烦了

欢迎任何意见

有限合伙人,
Dejan

表单具有最顶层的属性


设置
Form.TopMost=true

我认为您需要研究调用Win32 API来实现这一点

您需要调查:

并使用类似以下代码调用它们(请注意,这是伪代码):


经过一天的反复试验,我终于找到了解决办法

它包括以下步骤:

一,。 按下“锁定”按钮时,将创建新(空)/桌面/。 该程序在这个桌面上运行,具有全屏窗体和登录过程。 此桌面上没有其他可切换或运行的内容

二,。 通过注册表禁用任务管理器。 当然,一些未经邀请的人仍然可以访问Ctrl-Alt-Delete菜单,但他在那里没有什么特别的伤害

三,。 Alt-F4等被禁用

四,。 进行身份验证后,程序切换回原始桌面,一切正常进行

当然,需要一些p/调用。 如果有人想做类似的事情,也许他/她会发现我的裸体例子很有用-

有限合伙人,
德扬

这没用。只需按一下Windows键就可以了。那么基本上你想重新实现Windows的锁定部分吗?好吧,祝你好运,安全措施足够好。不,我无意这么做。理想情况下,我想/利用/窗户的锁定部分。如果你知道如何从C#开始,我很乐意知道。那个职员可以用Win+L钥匙锁上窗户。当他回来时,只需输入密码即可解锁。那不管用吗?是的,真的。不幸的是,在我的例子中,我想使用USB RFID阅读器来登录它们。
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

static void ShowTopmost(Form frm)
{
     ShowWindow(frm.Handle, SW_SHOWMAXIMIZED);
     SetWindowPos(frm.Handle.ToInt32(), HWND_TOPMOST,
        0, 0, [width of desktop], [height of desktop],
        SWP_SHOWWINDOW);
}