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
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.
To resolve this problem, contact the manufacturer of the program for information about a possible update to resolve this problem.
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.
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: