Windows key and keycode

  • Thread starter Thread starter leerem
  • Start date Start date
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.......
 
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
 
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.......
 
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
 
Back
Top