Kiosks

  • Thread starter Thread starter Oakridge
  • Start date Start date
O

Oakridge

We have half a dozen public access computers which are a bit vulnerable.
'DeepFreeze' is loaded which restores settings but users can still play.

Is it possible to set up a user profile with no icons or start menu and have
Internet Explorer run in non-changeable full screen mode.

Thanks in advance.

Malcolm
 
See all the
Remove XXXX from Start menu
here...
http://www.boyce.us/gp/gplistall.asp

Policy Settings for the Start Menu in Windows XP
http://support.microsoft.com/default.aspx?scid=kb;en-us;292504

Disable Menu Bars and the Start Button
http://www.winguides.com/registry/display.php/905/

Open Internet Explorer in Kiosk mode...

iexplore -k

Ctrl + W to close it.

INFO: Command-Line Switches for Internet Explorer
http://support.microsoft.com/default.aspx?scid=kb;en-us;178058

How to Use Kiosk Mode in Microsoft Internet Explorer
http://support.microsoft.com/?kbid=154780

[[-k Kiosk mode – a great mode for demonstrating a site. It prevents
users from clicking away to irrelevant sites. In this mode there are
no toolbars, and only one screen. Set the site you plan to demo as
the home page and start in kiosk mode. The only way users can
navigate is by using links present on the screen (no typing in URLs).
Use Alt-Tab if you need to switch to another program, and use Alt-F4
to close the window when you’re finished. ]]
http://www.pro-networks.org/XPMaNiA/tweakIE6.shtml

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 
Thanks for all that, I'll try it out next week when the office opens again
and let you know.

Malcolm
 
Thanks again for your help. I have put a shortcut in the 'Startup' group
with the '-k' switch for Internet Explorer which fulfills current
requirememnts.

I think this may be a very basic question, but is it possible to
automatically start as a particular user with no logon?

Malcolm
 
Hi Malcolm,

You mean start IE with no user logged on?

Anything in...
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
loads before any user logs on.

Value Name: IE Kisosk (Or whatever you want to call it)
Data Type: REG_SZ
Value Data: C:\PROGRA~1\INTERN~1\iexplore.exe -k

iexplore -k works from the Run command, but I had to use short names to get
it to run including the full path (which you need for the registry), in the
Run command and in the command prompt. I never tried it from the
RunServices key, you can try that.

"C:\Program Files\Internet Explorer\iexplore" and "C:\Program
Files\Internet Explorer\iexplore.exe" work from Run, but "C:\Program
Files\Internet Explorer\iexplore -k" or "C:\Program Files\Internet
Explorer\iexplore.exe -k" do not work. That's why I had to use
C:\PROGRA~1\INTERN~1\iexplore.exe -k. C:\PROGRA~1\INTERN~1\iexplore -k also
works.

INFO: Run, RunOnce, RunServices, RunServicesOnce and Startup
http://support.microsoft.com/kb/179365

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 
Yes.

1) Click Start, Run and enter CONTROL USERPASSWORDS2
2) Select the user account you want automatically logged on (this avoids the Administrator account being selected by default)
3) Uncheck Users must enter username and password..........
4) Click Apply
5) In the next dialog, enter the password, if any, for the account you chose in Step 2
6) Ok your way out
 
Thanks for that, I knew it was basic. I must be getting old.

Can I ask one more supplementary please? Is it possible to change the
keystrokes for switches, particularly 'Alt+F4' (Close Internet Explorer). I
think there could be the odd little knowall who knows that switch.

Malcolm
 
That's great, thanks very much. In fact thanks for the help. I don't think
that the users will be all that thrilled but they should behave themselves.
We already have Faronics DeepFreeze which is a great utility but these IE6
changes should sew it all up.

Malcolm

P.S. The organisation for which this work is being done is at
www.rainweb.gov.uk.
 
One other option, should you wish to catch Ctrl-Alt-Del, or other such
items, is to write a vbscript that has a hook to catch specific
keystrokes. Then, add a keystroke that only you know, such as
Ctrl-Shift-Alt-Home, or some other unused item, and have that end the
vbscript so that you can regain control.

Respond if you need details on how to write such a script.

Erasums
 
One other option, should you wish to catch Ctrl-Alt-Del, or other such
items, is to write a vbscript that has a hook to catch specific
keystrokes. Then, add a keystroke that only you know, such as
Ctrl-Shift-Alt-Home, or some other unused item, and have that end the
vbscript so that you can regain control.

Respond if you need details on how to write such a script.

Erasmus
 
I have never used VBScript, in fact I haven't used Basic since the early
80's so I would be very rough on this one. It does sound a very good idea.
I do quite a good deal of programming using the now unheard of dBase. Some
initial pointers (a 'getting started' website) would be most helpful.

Thanks

Malcolm
 
Here is an MSDN article overview of hooks. You want to set a low level
keyboard hook that watches for specific keystrokes (ie Ctrl+Alt+Del,
Ctrl+Shift+Esc, Win+R, and other system keystrokes)

Here is some code that I found for a KeyLogger (which watches the
keystrokes as well). Hopefully it will give you some idea how the
hooks work:

Public Declare Function GetKeyState Lib "user32.dll" (ByVal nVirtKey As
Long) As Integer
Public Declare Function SetWindowsHookEx Lib "user32.dll" Alias
"SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal
hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function CallNextHookEx Lib "user32.dll" (ByVal hHook As
Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal
hHook As Long) As Long


Public Const HC_ACTION = 0
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101
Public Const WM_SYSKEYDOWN = &H104
Public Const WM_SYSKEYUP = &H105
Public Const VK_TAB = &H9
Public Const VK_CONTROL = &H11
Public Const VK_ESCAPE = &H1B

Public Const WH_KEYBOARD_LL = 13
Public Const LLKHF_ALTDOWN = &H20

Public Type KBDLLHOOKSTRUCT
vkCode As Long
scanCode As Long
flags As Long
time As Long
dwExtraInfo As Long
End Type
Public hhkLowLevelKybd As Long
Dim P As KBDLLHOOKSTRUCT
Dim M As String
Public Sub HookOn()
If hhkLowLevelKybd = 0 Then
hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf
LowLevelKeyboardProc, App.hInstance, 0)
End If
End Sub

Public Sub HookOff()
If hhkLowLevelKybd Then
UnhookWindowsHookEx hhkLowLevelKybd
hhkLowLevelKybd = 0
End If
End Sub


Public Function LowLevelKeyboardProc(ByVal nCode As Long, ByVal wParam
As Long, ByVal lParam As Long) As Long
If wParam = WM_KEYDOWN Or wParam = WM_SYSKEYDOWN Then
CopyBytes ByVal lParam, P, Len(P)
M=M+Chr$(P.vkCode)
If Len(M)>4 Then M=Right$(M,4)
If UCASE$(M)="OPEN" Then
'Do something
End If
End If
LowLevelKeyboardProc = CallNextHookEx(0, nCode, wParam, P)
End Function
 
Sorry for my tardy reply, I have been away for a couple of days. I have
something to start on now. Thanks.

Malcolm
 
Back
Top