我需要创建一个简单的 Delphi 应用程序,kiosk 风格。
这是一件非常简单的事情,用户可以在一个表单中写入一些个人信息来注册事件。 4 TEdit 和一个 TButton。
我想要实现的是避免用户执行与输入 TEdit 或单击 TButton 不同的任何操作。例如,我不希望他执行 ALT TAB(切换应用程序)、按键盘上的 windows 键、执行 ctrl-alt-canc 等操作...
我可以添加一个受密码保护的按钮来启用/禁用此“信息亭模式”,这样,当我需要退出信息亭模式时,我只需按该按钮即可退出。
如何在Delphi中实现这种“信息亭模式”而不手动拦截所有击键?或者是否有人已经开发了这个以便可以共享?
最佳答案
我认为你最好创建一个新的 desktop ,然后在其中运行您的应用程序。当您的应用程序完成后,您可以恢复用户的桌面。这就是 Windows 登录屏幕的工作原理。当然,Windows 登录屏幕使用特殊的安全桌面。您在单独桌面中的应用程序将被隔离。您将拥有一个没有开始菜单、任务栏或桌面图标的桌面背景,因为 explorer.exe 不会自动运行。当然,可以使用任务管理器启动新进程,但 Windows 中的桌面是安全对象;因此,您可以根据需要进行限制。当然,如果您的应用程序有足够的权限。
要创建新桌面,您可以使用 CreateDesktop Windows API,要切换到新创建的桌面,可以使用OpenDesktop函数。
关于delphi - 如何创建类似信息亭的 UI,以便用户永远无法退出它或切换到另一个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30079384/