Characters That You Type in a Text Box May Be Repeated

SYMPTOMS
When you type characters in a text box (edit control), the characters may be repeated by the program that you are using. For example, when you use the SHIFT key to type an uppercase letter in a text box in Microsoft Internet Explorer, the letter may be repeated by the program that displays the text box in Internet Explorer. This problem occurs after you install the MS03-045 (824141) security patch, the hotfix that is documented in Microsoft Knowledge Base article 822428, or a later hotfix.

For additional information about the MS03-045 (824141) security patch, visit the following Microsoft Web site:For additional information about the 822428 hotfix, click the following article number to view the article in the Microsoft Knowledge Base:
822428 Characters Are Dropped or Lost in Notepad When You Use a Swipe Card Reader or a Keyboard in Windows 2000
CAUSE
The updates that are discussed in the "Symptoms" section of this article change the way that single-line and multi-line edit controls handle WM_CHAR window messages. The edit control now honors the character repeat count that is specified in the low-word of the message's lParam parameter. The repeat count that is specified in the lParam parameter is the number of characters that will be inserted in the edit control when it handles a WM_CHAR message.

If programs incorrectly specify the repeat count when they send or post WM_CHAR messages to an edit control, multiple characters are inserted. Before the updates that are listed in the "Symptoms" section of this article are installed, the edit control did not honor the specified repeat count.
RESOLUTION
To resolve this problem, contact the manufacturer of the program for information about a possible update to resolve this problem.
WORKAROUND
To work around this problem, use one of the following methods:

Method 1: Use the CAPS LOCK Key to Type Uppercase Letters

If this problem occurs when you use the SHIFTkey to type uppercase letters, use the CAPS LOCK key instead.

Method 2: Copy and Paste Text from Another Program

Create the text that you want to enter in the text box in another program (for example, in Notepad), and then copy the text and paste it in the text box.
MORE INFORMATION
For additional information about the correct formatting of the WM_CHAR message's lParam parameter, visit the following Microsoft Web site:If you have Microsoft Visual Basic programs that exhibit this problem, change them so that the programs check their declaration of SendMessage or PostMessage to make sure that the lParam parameter is passed as ByVal instead of as ByRef when they send or post WM_CHAR messages. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
187918 PRB: SendMessage Fails for Some Messages
For example, change the following code
Private Declare Function SendMessageW Lib "user32" (ByVal HWND As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
to the following:
Private Declare Function SendMessageW Lib "user32" (ByVal HWND As Long, ByVal wMsg As Long, ByVal wParam As Long, Byval lParam As Any) As Long
Brio Query Brio Query Explorer Brio Query Designer Hyperion Intelligence Brio Intelligence Brio Enterprise
Properties

Article ID: 831739 - Last Review: 05/21/2007 07:04:05 - Revision: 2.3

Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Datacenter Server, Microsoft Windows 2000 Professional Edition

  • kbprb KB831739
Feedback