-1

就像一些网络咖啡应用程序禁止用户使用任何其他应用程序,但只有在网络管理应用程序面板中启动的应用程序一样,我在互联网上搜索了一些在 Delphi 中执行此操作的方法:

  • 移除 Windows 任务栏;
  • 禁用 Alt+Tab 功能;
  • 禁用任务管理器;
  • 能够在配置面板中执行/撤消该更改。

这些需求是为了防止用户下载病毒和更改 Windows 配置甚至玩游戏,如果这是系统管理员的偏好的话。自己的程序将作为授权应用程序的容器在内部运行,就好像它是 MDI 应用程序一样。那已经在工作了

当然,系统管理员可以选择禁用或恢复。

有没有办法使用Delphi XE3在运行时进行这四种配置?

4

2 回答 2

3

我对德尔福不熟悉。我也不确定在运行时是否可能。但您可以执行以下操作:

  1. 写入注册表以防止 alt-tab看到这个
  2. 再次写入注册表禁用任务管理器看到这个
  3. 听起来您也可以通过注册表禁用任务栏,请参阅此
  4. 在您的控制面板上有选项,当他们点击保存时,保存并重新启动计算机。

前提是 Delphi 可以写入注册表(我相信 C# 和 C++ 可以)。如果没有,您可以创建 .reg 文件并通过使用参数调用 cmd.exe 来执行这些文件。我认为这会导致一些弹出窗口。

更新:您可以通过杀死 explorer.exe 然后再次加载它来加载注册表更改而无需注销。不过,这可能只会加载更新后的注册表的一部分。

于 2013-07-17T17:08:16.760 回答
3

我建议将您的硬件启动到 Linux,然后使用 Windows 中现有的 kiosk 模式安全设置运行尽可能锁定的 Windows 虚拟机。然后,此 VM 在 VM 启动时运行您的 MDI 应用程序。当 MDI 应用程序存在时,VM 将恢复为已知良好 Windows 配置的快照。

您将 Linux 操作系统剥离,只包含托管 Windows VM 所需的最少组件。

我假设您的 MDI 窗口将仅托管您的组织编写的应用程序,而不是任意的 Windows 可执行文件。否则,您要求重新编写 Windows 本身,这将被证明是不可能的。

于 2013-07-17T22:09:28.147 回答