Winform - 强制用户在启动时填写表单

时间:2011-10-12 15:37:37

标签: c# winforms

提前感谢您的帮助。我主要是一名Web开发人员,但他的任务是创建一个简单的winforms应用程序。我有一个应用程序完成,但一个部分除外。此应用程序将在启动时运行,并提示用户输入他们使用计算机的原因。是否有一种简单的方法可以强制用户在继续之前填写此表单。基本上我想要禁用所有内容(开始菜单等),直到填写并关闭此表单。

我可以杀死explorer.exe然后重启吗?这对我来说似乎是一种侵略性。

4 个答案:

答案 0 :(得分:1)

这是不可能的,因为精明的用户只需按 Alt + Ctrl + Del 并终止该应用程序。您无法阻止或捕获此事件,因为从安全角度来看,这是Windows的设计方式。

答案 1 :(得分:1)

编写自定义GINA以将额外的文本框添加到登录屏幕可能会这样做吗?可能不适合那些胆小的人!

答案 2 :(得分:1)

您可以运行自己的应用程序,而不是在登录时运行Explorer.exe。更改此设置是本地计算机策略中的一个简单设置。

用户完成应用后,您可以启动explorer.exe或将设置更改回默认设置。

Here's a small tutorial how to do this.

顺便说一句:我不在任何计算机上使用它,但是在我所有用户的(终端服务)配置文件中,我将其更改为在登录时运行我自己的应用程序。这是一个普通的.Net winforms应用程序,最初不是作为shell运行的。

答案 3 :(得分:0)

你可以做这样棘手的事情:

  • 将表单的FormBorderProperty设置为无,Opacity设置为1%,将WindowState设置为最大化
  • 在此表单的Load事件中,使用您的控件生成一个新表单并将其显示为对话框。

不确定它是否适用于Windows-7,但在XP中运行良好。这不是正确的解决方案,尽管它会造成错觉。用户仍然可以通过按 Ctl + Tab Alt + Ctrl + Del 并杀死进程。