【问题标题】:Run C# application on startup before desktop is accesible在桌面可访问之前在启动时运行 C# 应用程序
【发布时间】:2017-11-21 09:01:03
【问题描述】:

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

我尝试创建一个在启动时以全屏模式打开的应用程序,但我遇到的问题是用户可以通过按 Windows 键显示开始菜单等操作绕过该应用程序。我敢肯定还有其他键盘快捷键可以获取周围的应用程序。

我想我做错了。
更理想的解决方案是让用户进入适当的 Windows 信息亭模式(应用程序正在运行),然后一旦他们单击接受 T&Cs 按钮,它将引导他们进入适当的 Windows 桌面模式。这有可能吗?

正在使用各种版本的 Windows(7 及更高版本),而且大多数用户使用双显示器。

【问题讨论】:

  • 这似乎更像是应该包含在员工合同中的内容...
  • 我不确定这是否可以使用 C# 解决,至少不容易。但是,您可以非常轻松地向登录到每台计算机的所有用户显示法律通知,如下所述:techrepublic.com/blog/windows-and-office/…
  • 每个员工每次登录都必须接受的条款是什么鬼??
  • 对不起,我应该提一下,如果他们已经接受了,则每次登录时都不会显示
  • 我相信您可以通过活动目录中的组策略锁定某些 Windows 功能。您也可以朝这个方向看,以防止用户通过删除他们的权限来绕过您的应用。

标签: c# wpf windows winforms


【解决方案1】:

如果您运行受支持的 Windows 版本(10 企业版、10 教育版)或自定义用户 shell,如How to run an application as shell replacement on Windows 10 Enterprise 中所述,您可以配置启动您的应用的自定义 Shell Launcher

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

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

【讨论】:

    【解决方案2】:

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

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

    一些关于这个的链接; http://www.thewindowsclub.com/displaying-customized-start-message-windows-8

    https://youtu.be/1IrpsunSXBk

    【讨论】:

    • 这是一个不错的解决方案,但我认为它不够灵活,无法满足我的需求。条款和条件由 CMS 驱动并格式化
    猜你喜欢
    • 2021-05-25
    • 1970-01-01
    • 2019-07-18
    • 2023-04-03
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多