在桌面可访问之前,在启动时运行C#应用程序

在桌面可访问之前,在启动时运行C#应用程序,c#,wpf,windows,winforms,C#,Wpf,Windows,Winforms,在使用我公司的台式机之前,员工必须确认某些T&C。我的公司要求我开发一个应用程序,在用户登录后向他们显示这些T&C。应阻止他们在查看此应用程序时访问桌面,如果他们选择拒绝t&C,应用程序将自动将他们注销 我曾尝试创建一个在启动时以全屏模式打开的应用程序,但我遇到了一个问题,用户可以通过按Windows键显示“开始”菜单等操作绕过该应用程序。我相信还有其他键盘快捷方式可以让应用程序四处走动 我想我走错了方向。 一个更理想的解决方案是,用户进入一个适当的Windows kiosk模式(应用程序运行)

在使用我公司的台式机之前,员工必须确认某些T&C。我的公司要求我开发一个应用程序,在用户登录后向他们显示这些T&C。应阻止他们在查看此应用程序时访问桌面,如果他们选择拒绝t&C,应用程序将自动将他们注销

我曾尝试创建一个在启动时以全屏模式打开的应用程序,但我遇到了一个问题,用户可以通过按Windows键显示“开始”菜单等操作绕过该应用程序。我相信还有其他键盘快捷方式可以让应用程序四处走动

我想我走错了方向。
一个更理想的解决方案是,用户进入一个适当的Windows kiosk模式(应用程序运行),然后单击accept T&Cs按钮,它将引导他们进入适当的Windows桌面模式。这有可能吗


目前正在使用各种版本的Windows(7及以上),而且大多数用户使用双监视器

在Windows中,您可以创建登录横幅或法律通知。这将在用户能够登录之前显示,用户必须单击“确定”才能接受它

因此,如果他们已登录,则必须单击“确定”以接受T&C

关于此的一些链接;


在Windows中,您可以创建登录横幅或法律公告。这将在用户能够登录之前显示,用户必须单击“确定”才能接受它

因此,如果他们已登录,则必须单击“确定”以接受T&C

关于此的一些链接;


如果您运行的是受支持的Windows版本(10个企业版、10个教育版)或自定义用户shell(如中所述),则可以配置启动应用程序的自定义shell

接受条款和条件后(或当前用户之前已经接受),您的应用程序只需启动explorer.exe即可启动默认shell


要防止用户通过任务管理器启动Explorer shell,您还必须通过组策略禁用任务管理器。

如果您正在运行受支持的Windows版本(10个企业版,10个教育版)或自定义用户shell,则可以配置启动应用程序的自定义程序,如中所述

接受条款和条件后(或当前用户之前已经接受),您的应用程序只需启动explorer.exe即可启动默认shell


为了防止用户通过任务管理器启动Explorer外壳,您还必须通过组策略禁用任务管理器。

这似乎更像是应该包含在员工合同中的内容……我不确定您是否能够使用C#解决这一问题,至少不容易。但是,您可以非常轻松地向登录到每台机器的所有用户显示法律通知,正如这里所解释的:每个员工在每次登录时都必须接受哪些该死的条款?抱歉,我应该提到,如果他们已经接受了这些条款,则不会在每次登录时显示这些条款。我相信您可以通过active directory中的组策略锁定某些windows功能。你也可以朝这个方向看,通过删除用户的权限来防止用户绕过你的应用程序。这似乎更像是应该包含在员工合同中的东西……我不确定你能用C#解决这个问题,至少不容易。但是,您可以非常轻松地向登录到每台机器的所有用户显示法律通知,正如这里所解释的:每个员工在每次登录时都必须接受哪些该死的条款?抱歉,我应该提到,如果他们已经接受了这些条款,则不会在每次登录时显示这些条款。我相信您可以通过active directory中的组策略锁定某些windows功能。你也可以朝这个方向看,通过删除用户的权限来防止用户绕过你的应用。这是一个不错的解决方案,但我认为它不够灵活,无法满足我的需要。T&C是CMS驱动和格式化的,这是一个很好的解决方案,但我认为它不够灵活,不能满足我的需要。T&C由CMS驱动并格式化