PRB: SendKeys Does Not Work with NumLock or Caplock (192273)
The information in this article applies to:
- Microsoft Visual Basic Learning Edition for Windows 5.0
- Microsoft Visual Basic Learning Edition for Windows 6.0
- Microsoft Visual Basic Professional Edition for Windows 5.0
- Microsoft Visual Basic Professional Edition for Windows 6.0
- Microsoft Visual Basic Enterprise Edition for Windows 5.0
- Microsoft Visual Basic Enterprise Edition for Windows 6.0
- Microsoft Visual Basic Standard Edition, 32-bit, for Windows 4.0
This article was previously published under Q192273 SYMPTOMS
Using SendKeys to change the state of {CAPSLOCK} or {NUMLOCK} is not
effective.
CAUSE
Toggling {CAPSLOCK} or {NUMLOCK} with the SendKeys statement is only in
effect for the continuous subsequent keys sent by SendKeys. The state of
{CAPSLOCK} or {NUMLOCK} is reset when Visual Basic yields to other
processes. For example, this occurs when the SendKeys statement's Wait
parameter is set to "True", or when a DoEvents statement is executed.
RESOLUTION
Use SendKeys to toggle {CAPSLOCK} or {NUMLOCK} only when sending a series
of keys continuously in a single or multiple number of SendKeys statements.
To toggle the {CAPSLOCK} or {NUMLOCK} permanently:
- Use the KeyState control that comes with Visual Basic 4.0.
- or -
- Use the Win32 API. See the article in the References section for
details.
STATUS
This behavior is by design.
REFERENCES
For additional information, please see the following article in the
Microsoft Knowledge Base:
177674
: HOWTO: Toggle the NUM LOCK, CAPS LOCK, and SCROLL LOCK Keys
Modification Type: | Major | Last Reviewed: | 5/12/2003 |
---|
Keywords: | kbcode kbprb KB192273 |
---|
|