How to create a kiosk-like UI, so that the user can never exit from it or switch to another application?

↘锁芯ラ 提交于 2019-11-27 14:48:29

I think you'd better create a new desktop, and run your app in there. When your app is done, you can bring back user's desktop. That is how Windows login screen works. Of course Windows login screen uses a special secure desktop. Your app in a separate desktop would be isolated. You will have a desktop background with no start menu, taskbar, or desktop icons because explorer.exe is not running there automatically. Of course a can start a new process, using Task Manager, but desktops in Windows are securable objects; therefore, you can make restrictions if you want. Of course if your app has sufficient permissions.

To create a new desktop, you can use CreateDesktop Windows API, and to switch to the newly created desktop, you can use OpenDesktop function.

Germán Estévez -Neftalí-

You can try Change the Windows Shell.
When you start windows, you don't execute the default shell (explorer.exe), you can execute your application.

Al internet you can find alternative Shell (more attractive) to default windows like:

This option is used for purposes similars at the application that you are developing. Kiosks or TPV.
For change the default applicacion you must modify a registry key:

In Win3.x and Win9x, SYSTEM.INI file:

[boot]
shell=MiAplicacion.exe

In Win2k and WinXP, use Registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
Shell=MiAplicacion.exe 

If you test this option, think the mode to turn the configuration to the original value (button or option). You must reboot to test changes.

ADDED: In addition, if you search on the web some similar at this "Delphi Change default windows shell", you can find more code, samples and information about this.

Regards

P.D: Excuse me for mistakes with english.

Well but if someone can open the taskmgr he could just create a new task and run explorer.exe from there so its not really secure though...

Ok Taskmgr can be stopped with policies... Well and for disabling the cad sequence you can use saslibex which Remko Weijnen had created you can find it here: SASLibEx

kindest regrads,
s!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!