I need to create an application that will run full-screen on Windows 8 and which the user shouldn't be able to exit easily.
Since the application will be running on computers or tablets with only tactile input, I was going to create a chromeless and top-most WPF application, which could only be closed if a keyboard is connected.
The problem is that the app switching bar on the left and the charms bar on the right can still be opened without a keyboard and would allow users to exit the application. Can this be disabled from code? I can't seem to find a way.
The easy solution would be to run on another OS, but the machines will be running Windows 8 and there's not much I can do about that.
Kill
explorer.exe
when your application launches and charms bar won't work.The year is 2018 and Window 10 almost completely pushed out Windows 8. Win8's "hot corners" are again cold in Win10 - they were obviously a great success. But if you still need to disable them in Win8.x/Win2012 and end up here searching for a solution (as I did), here's how I solved it. I realised that Windows disables them automatically if a full-screen application is active and covering the task-bar. Since my application is dialog-based and not full-screen, I create a transparent window (transparent optically and transparent for input) and set it as the parent window for my dialog. Now this invisible window covers the whole screen -> hot corners are disabled.
Something like this (simplified):
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\EdgeUI\DisableTLcorner DWORD=1
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\EdgeUI\DisableCharmsHint DWORD=1
I know it might be a bit late to answer this question but hopefully this helps someone else, in your Regedit there is a regkey that allows you to choose what 'Shell' windows boots into, by default it is set to explorer.exe if you change this it will boot into whatever program that you would like without going through the stupid windows 8 start menu.
Regkey is at
Hope that helps you all.
I have dug up a .TXT with some notes I found somewhere on the net some time ago, it might be helpful (worst case scenario, it doesn't apply to Windows 8 and doesn't work. Unfortunately I'm unable to cite a source for it, I don't really remember where it came from):
A “kiosk mode” has already existed since XP. Usually it's aimed at locking IE up in order to show some interactive webpage while not letting the user close it: it's called mandatory user profiles.
To set it up:
When you’re finished and log in the new account, you will find out it performs almost like kiosk mode that you have been seeking for. To undo changes, log off and log back in.
Simple solution, not perfect but works, every time the charms bar is activate, your application is deactivate, so reactivate it immediately and the charms bar disappear. add this in your App.xaml.cs