0

I configured a multi-app kiosk for some of my users using Assigned Access on Windows 10 .

It works great but I'm struggling to prevent them from opening multiple instances of the same program. I've tried replacing the .lnk to the apps with scripts that check for a running instance of the program before opening it. But this still does not work when you "click really fast".

I add said script, but this is just the approach I came up with. And I'm fine with any solution.

Set objShell = CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

strProgramName = "chrome.exe"

Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = '" & strProgramName & "'")

If colProcesses.Count > 0 Then
    objShell.AppActivate "App name"
Else
    objShell.Run "chrome.exe --app=http://x.x.x.x"
End If
3
  • I ended up wrapping chrome with a c++ program that uses mutex to avoid allowing more instances to be loaded. One big problem is chrome opens children and the original PID is lost. Commented Jun 7 at 16:09
  • Have you looked into other browsers, or special browser configurations, such as Firefox kiosk mode?
    – LesFerch
    Commented Jun 8 at 13:34
  • I did, the problem is that I have a touchscreen without keyboard. And I want my users to be able to close the window with the top window options without having access to the navigation bar and chrome is the best suited for this imo. Kiosk mode makes it fullscreen and my users can't exit the app with the touchscreen unless I modify the site itself (and I'm not allowed to modify the source). Commented Jun 10 at 8:47

0

You must log in to answer this question.

Browse other questions tagged .