Windows key and keycode

L

leerem

I have a workbook that uses multiple userforms that users on the warehouse
floor enter information onto.

The problem I have is that users are crashing the workbook.

I've managed to disable the Break key as well as the Ctl-Alt-Delte combination

However the Windows key is a bit more of a challenge, I thought I could
capture the keystroke as follows:


Sub UserForm_KeyDown(ByVal keycode As MSForms.ReturnInteger, ByVal _
Shift As Integer)

'Capure the KeyStroke
If keycode = 92 Or keycode = 91 Then
' Throw away the Key Stroke
keycode = 0
MsgBox "Your Shouldn't be pressing the Windows Key!"

End If
End sub

But this doesn't stop the Start Window from showing.
In addition this only works for a userform without any controls, How would I
go about capturing these keystroke for all forms used without having to
copying or placing a call routine into all KeyDown procedures.

Any ideas, please help.......
 
M

Martin Brown

leerem said:
I have a workbook that uses multiple userforms that users on the warehouse
floor enter information onto.

The problem I have is that users are crashing the workbook.

I've managed to disable the Break key as well as the Ctl-Alt-Delte combination

However the Windows key is a bit more of a challenge, I thought I could
capture the keystroke as follows:


Sub UserForm_KeyDown(ByVal keycode As MSForms.ReturnInteger, ByVal _
Shift As Integer)

'Capure the KeyStroke
If keycode = 92 Or keycode = 91 Then
' Throw away the Key Stroke
keycode = 0
MsgBox "Your Shouldn't be pressing the Windows Key!"

End If
End sub

But this doesn't stop the Start Window from showing.

ITYM ByRef keycode since you are trying to alter the value returned.

I don't see why having the start window showing crashes your application.

Regards,
Martin Brown
 
L

leerem

Because,
Once the start menu is showing this allows the Users to shut down the PC
 
J

Jim Cone

A couple of "out of the box" suggestions...
1. Save the data more often, so shutdowns don't cause data loss.
2. Ask the users why they are shutting the computer down and fix the "why" problem.
--
Jim Cone
Portland, Oregon USA




"leerem" <[email protected]>
wrote in message I have a workbook that uses multiple userforms that users on the warehouse
floor enter information onto.

The problem I have is that users are crashing the workbook.

I've managed to disable the Break key as well as the Ctl-Alt-Delte combination

However the Windows key is a bit more of a challenge, I thought I could
capture the keystroke as follows:


Sub UserForm_KeyDown(ByVal keycode As MSForms.ReturnInteger, ByVal _
Shift As Integer)

'Capure the KeyStroke
If keycode = 92 Or keycode = 91 Then
' Throw away the Key Stroke
keycode = 0
MsgBox "Your Shouldn't be pressing the Windows Key!"

End If
End sub

But this doesn't stop the Start Window from showing.
In addition this only works for a userform without any controls, How would I
go about capturing these keystroke for all forms used without having to
copying or placing a call routine into all KeyDown procedures.

Any ideas, please help.......
 
M

Martin Brown

leerem said:
Because,
Once the start menu is showing this allows the Users to shut down the PC

That should not crash the PC or lose data from the spreadsheet unless
they choose not to save changes (and you could alter that behaviour).

Regards,
Martin Brown
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top