0

Before using my company's desktops, employees must acknowledge certain T&Cs. My company has asked me to build an app that will show these T&Cs to the user once they have logged in. They should be blocked from accessing the desktop while viewing this app, and if they choose to the decline the t&Cs, the app will automatically log them out.

I've tried creating an app that opens in fullscreen mode on startup, but I have the problem where a user can get around the app by doing something like pressing the Windows key to show the start menu. I'm sure there are other keyboards shortcuts to get the around app too.

I think I'm going about this the wrong way.
A more ideal solution would be for the user to enter a proper kiosk mode of Windows (with the app running), and then once they click the accept T&Cs button, it will direct them to the proper desktop mode of Windows. Is this somehow possible?

There are various versions of Windows being used (7 and up) and also most users use dual monitors.

MakkyNZ
  • 2,215
  • 5
  • 33
  • 53
  • 4
    This seems more like something that should be included in an employees contract... – Luke Joshua Park Nov 21 '17 at 09:02
  • I'm not sure this is something you'll be able to solve using C#, at least not easily. You can, however, very easily display a legal notice to all users that log on to each machine, as explained here: https://www.techrepublic.com/blog/windows-and-office/adding-messages-to-windows-7s-logon-screen/ – Diado Nov 21 '17 at 09:04
  • What hell of Terms are those that each employee does have to accept them *each time* they log in?? – Fildor Nov 21 '17 at 09:04
  • Sorry i should mention that it wont show each time they log in if they have accepted them already – MakkyNZ Nov 21 '17 at 09:07
  • I believe you can lock down some windows features through group policies in active directory. You might look in that direction as well, to prevent users from circumventing your app by removing their permissions to do so. – Rufus L Nov 21 '17 at 09:11
  • Just a thought if you definitely want to carry on with this idea.. I would try to kill explorer.exe and restart it then run and show your program in full screen and disable all buttons on keyboard until T&C is accepted https://stackoverflow.com/questions/18804751/kill-explorer-process . I mean the way your company is doing it is terrible because you could instead just email everyone and tell them to go on a webpage to accept the T&C using their email perhaps. And possibly have a deadline for them to accept it by or have their accounts locked. – Tantrix1 Nov 21 '17 at 11:02

2 Answers2

1

In Windows you can create a Logon Banner or legal notice. This displays before the user is able to login, and they must click OK to accept it.

Therefore, if they have logged in then then must have clicked OK to accept the T&Cs.

Some links about this; http://www.thewindowsclub.com/displaying-customized-start-message-windows-8

https://youtu.be/1IrpsunSXBk

jason.kaisersmith
  • 8,712
  • 3
  • 29
  • 51
  • That's a nice solution, but i don't think it's flexible enough for my needs. The T&Cs are CMS driven and formatted – MakkyNZ Nov 21 '17 at 09:10
1

You could configure a custom Shell Launcher which launches your app, if you're running supported Windows version (10 Enterprise, 10 Education) or custom user shells as explained in How to run an application as shell replacement on Windows 10 Enterprise.

Upon accepting the Terms and Conditions (or when the current user has already accepted them before), your app simply launches explorer.exe to start the default shell.

To prevent users from starting the Explorer shell through the Task Manager, you'll have to disable Task Manager through a group policy as well.

CodeCaster
  • 147,647
  • 23
  • 218
  • 272