Delphi 如何创建一个类似于kiosk的UI,这样用户就永远不能退出它或切换到另一个应用程序?

Delphi 如何创建一个类似于kiosk的UI,这样用户就永远不能退出它或切换到另一个应用程序?,delphi,kiosk-mode,Delphi,Kiosk Mode,我需要创建一个简单的Delphi应用程序,kiosk风格 这是一件非常简单的事情,一个单一的表单,用户在其中写入一些个人信息以注册到一个事件。4个TEdit和一个T按钮 我想要实现的是避免用户在键入TEdit或单击TButton时执行任何不同的操作。例如,我不希望他执行ALT TAB(切换应用程序)、按键盘上的windows键、执行ctrl-ALT-canc等操作 我可以添加一个passowrd保护按钮,启用/禁用此“信息亭模式”,这样,当我需要退出信息亭模式时,我只需按下该按钮并退出 如何在D

我需要创建一个简单的Delphi应用程序,kiosk风格

这是一件非常简单的事情,一个单一的表单,用户在其中写入一些个人信息以注册到一个事件。4个TEdit和一个T按钮

我想要实现的是避免用户在键入TEdit或单击TButton时执行任何不同的操作。例如,我不希望他执行ALT TAB(切换应用程序)、按键盘上的windows键、执行ctrl-ALT-canc等操作

我可以添加一个passowrd保护按钮,启用/禁用此“信息亭模式”,这样,当我需要退出信息亭模式时,我只需按下该按钮并退出


如何在Delphi中实现这种“kiosk模式”,而不需要手动截取所有击键?或者已经有人开发了它以便共享吗?

您可以尝试更改Windows Shell。
启动windows时,不执行默认shell(explorer.exe),您可以执行应用程序

Al internet您可以找到替代默认窗口的Shell(更具吸引力),如:

此选项用于与您正在开发的应用程序类似的目的。信息亭或TPV。
要更改默认应用程序,必须修改注册表项:

在Win3.x和Win9x中,SYSTEM.INI文件:

[boot]
shell=MiAplicacion.exe
在Win2k和WinXP中,使用注册表:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
Shell=MiAplicacion.exe 
如果测试此选项,请考虑将配置转换为原始值的模式(按钮或选项)。您必须重新启动以测试更改

补充:此外,如果你在网上搜索类似的“Delphi更改默认windows shell”,你可以找到更多的代码、示例和信息

问候


p.D:请原谅我的英语错误。

但是如果有人可以打开taskmgr,他可以创建一个新任务并从那里运行explorer.exe,这样就不太安全了

确定可以使用策略停止Taskmgr。。。 为了禁用cad序列,您可以使用Remko Weijnen创建的saslibex,您可以在这里找到它:

最仁慈的遗憾,

s

我认为你最好创建一个新的应用程序,并在其中运行你的应用程序。应用程序完成后,您可以恢复用户的桌面。这就是Windows登录屏幕的工作方式。当然,Windows登录屏幕使用特殊的安全桌面。你在一个单独的桌面上的应用程序将被隔离。您的桌面背景没有“开始”菜单、任务栏或桌面图标,因为explorer.exe不会自动在那里运行。当然,用户可以使用任务管理器启动新进程,但Windows中的桌面是安全的对象;因此,如果需要,可以进行限制。当然,如果你的应用程序有足够的权限


要创建新桌面,您可以使用Windows API,要切换到新创建的桌面,您可以使用OpenDesktop功能。

+1,非常好的建议(另外阻止安全注意序列,也称Ctrl-Alt-Del)。是非常好的建议,但是你能不能转到一个工作示例,因为从头开始的研究让我更喜欢Bharat+1提到的商业组件,因为它提到了我的SasLibEx:-),它确实可以阻止CAD,但也可以模拟CAD,解锁工作站(没有凭证)等等