如何为用户输入一些信息以强制窗口?

问题描述:

在我的工作场所,我需要创建一个用户填写的强制性问卷。其目的是尽可能使用户无侵入性,并将其链接到他们的Windows帐户。然后将结果存储在可从响应中生成报告的数据库中。如何为用户输入一些信息以强制窗口?

建议在登录时加载问卷,即用户登录到计算机时。我将不得不使窗口独占,以便其他窗口不能互动。

我的问题我该怎么做呢?这可以用WPF完成,还是需要XNA或类似的东西?

此外,还有没有其他的建议,我可以如何满足所有不同的实施标准?

有没有办法在屏幕解锁时运行/激活应用程序?

+4

如果它是强制性的,它是侵入性的。 – 2011-04-05 03:11:12

+0

@Peter Of The Corn-我同意,试图通过在登录时加载它来找到平衡,即使使用该解决方案仍然面临一些问题。 – Laz 2011-04-05 03:21:10

+0

XNA似乎对此有点矫枉过正。某种最大化的无边界窗口可能会更好。 – ssube 2011-04-05 04:58:43

您可以使用WinForms或WPF创建应用程序。我不知道XNA。 :)你可以在启动时加载它;通过使用注册表。您可能需要使用API​​手动禁用ALT + Tab以禁用其他窗口之间的交互。

+0

但是,我能够将屏幕锁定到该应用程序,但不允许用户与其他应用程序进行交互的能力?我在其他地方看到过,这对于WPF来说是不可能的,不知道Winforms。 – Laz 2011-04-05 03:20:04

首先,看来你可能有冲突的要求 - “非侵入式”和“必修课” - 给用户的任何中断都被认为是侵犯了他们神圣的时间:)

我会用最大化允许透明的WPF窗口,没有窗口样式,相当透明,看起来像禁用背景。 “表格”区域将在屏幕上居中。表单一旦填写完毕,就会关闭并在settings.config文件中设置每个用户的状态,以确保下次用户登录时不会再出现。

Anuraj有权尝试通过抑制特殊击键来禁用尽可能多的互动。

我会通过将KeyEventArgs标记为在引发PreviewKeyDown事件时处理来抑制键击。

我从来没有在多个显示器上做过这件事,但是,不知道如何显示。

强制要求是通过,如您所说将其链接到他们的域帐户,然后给予任何人在某个时间框架内未完成调查问卷的书面警告。

如果你不愿意支持你的“强制性”的要求与实际的纪律程序,然后执行技术障碍是浪费时间。通过执行纪律程序,技术障碍对达到合规性是不必要的。

实际的实现可能最好在公司内部网服务器上以网页形式完成。

这当然要求公司足够成熟,可以使用某种中央登录服务器(域控制器,如果是Windows)并且有企业内部网。

现在是开始的好时机。