Solved

Capture ENTER on number and not main keyboard

Posted on 2003-10-29
9
210 Views
Last Modified: 2012-05-04
Is it possible to programatically know the difference from when the ENTER key on the number pad is pressed rather that the ENTER key on the main part of the keyboard.  Client is wanting to use the ENTER on the number pad as a TAB and the ENTER key on the main part of the keyboard as the normal ENTER key function
0
Comment
Question by:Adam95GTS
9 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9644995
AFAIK, the answer is no.
0
 

Author Comment

by:Adam95GTS
ID: 9645022
Was afraid of that.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9645036
Sometimes, you have to take a step back and analyze customer requests to see "why" they want to do things, and try to talk them out of "non-standard" behavior for software.  We get those kind of requests all the time, and I have learned to ignore most of them.

There is supposed to be a difference in the Virtual Key code, but experience has shown that to not be the case.  There may still be some magic out there, but I haven't found it yet.
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
LVL 17

Expert Comment

by:zzzzzooc
ID: 9645669
I think i've seen games that implement an extended Enter (NumPad) and regular Enter for keyboard mapping, not sure how though. Might be possible with a keyboard-hook if it allows KEYEVENTF_EXTENDEDKEY checks.

But, you could just have the user press the NumLock when they wish to use the NumPad enter. Then you can just check the state of the NumLock to differ between the two.

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then
        If GetKeyState(vbKeyNumlock) = 1 Then
            MsgBox "Enter Pressed (NumPad)"
        Else
            MsgBox "Enter Pressed"
        End If
    End If
End Sub
Private Sub Form_Load()
    Me.KeyPreview = True
End Sub
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9645710
Bending to customer requests can make you invent some crazy stuff!!
0
 
LVL 1

Accepted Solution

by:
mazfar earned 50 total points
ID: 9645873
The solution is given in a microsoft article at the link below:

http://support.microsoft.com/default.aspx?scid=kb;en-us;188550

ciao
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9645894
Like I said there is some magic out there that I hadn't found yet.  There is always room to learn.
0
 
LVL 5

Expert Comment

by:fantasy1001
ID: 9647554
Adam, mazfar has the correct and direct answer. Well done!
0
 

Author Comment

by:Adam95GTS
ID: 9649847
Excellant, thanks alot for the help!!
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question