1

I have set up assigned access on windows 10. The breakout key is currently set to ctrl + alt + delete (the default). However it seems as though when this breakout key is used that the application exits? Is it possible to keep the application running i.e. essentially switch user instead of log off?

Cool Breeze
  • 1,289
  • 11
  • 34

1 Answers1

0

You can set larger time-out period in registry

To sign out of an assigned access account, press Ctrl + Alt + Del, and then sign in using another account. When you press Ctrl + Alt + Del to sign out of assigned access, the kiosk app will exit automatically. If you sign in again as the assigned access account or wait for the login screen timeout, the kiosk app will be re-launched.

If you press Ctrl + Alt + Del and do not sign in to another account, after a set time, assigned access will resume. The default time is 30 seconds, but you can change that in the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI****

To change the default time for assigned access to resume, add IdleTimeOut (DWORD) and enter the value data as milliseconds in hexadecimal.

taken from Set up a kiosk on Windows 10

You can save application state in suspending event and restore this state later in resuming event, like it's recommended. That's not too difficult.

In declarations add:

    ApplicationDataContainer currentC = ApplicationData.Current.LocalSettings;

And somewhere in class constructor after InitializeComponent();

    App.Current.Suspending += new SuspendingEventHandler(App_Suspending);
    App.Current.Resuming += new EventHandler<Object>(App_Resuming);

Now you should realize events:

 async void App_Suspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e)
    {
 var waitState = e.SuspendingOperation.GetDeferral();
   // save all information from app in setting or in file
   currentC.Values["somesetting"] = someVariable;
 waitState.Complete();
    }

  private void App_Resuming(object sender, object e)
    {
        someVariable = (int)currentC.Values["somesetting"];
    }

You can find in web more information about App lifecycle

Alexej Sommer
  • 2,677
  • 1
  • 14
  • 25
  • I've already seen this my question is whether you can prevent the kiosk app from exiting automatically when Ctrl + Alt + Del is pressed. Ideally I would like it to break out of the app but keep it running. – Cool Breeze Apr 30 '16 at 00:52
  • It's might be impossible. But you can save application state and when application starts back restore this state. That's a usual way of "keeping app alive". – Alexej Sommer Apr 30 '16 at 05:43
  • This was the default behaviour in windows 8.1 surely there is a way to do it in windows 10? – Cool Breeze May 02 '16 at 11:12
  • @CoolBreeze, I have add info in question about how to save and restore application state. – Alexej Sommer May 04 '16 at 10:59