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