PRB: Windows 95/98 Ignores ALT+TAB from SendKeys in VB

ID: Q129839

The information in this article applies to:

SYMPTOMS

A Visual Basic application running under Windows 95 or Windows 98 is unable to use SendKeys to send an ALT+TAB key sequence to the operating system. The application can use SendKeys to send an ALT+TAB key sequence to the operating system when the application is running under Windows version 3.x, Windows for Workgroups, or Windows NT.

Windows 95 and Windows 98 ignore the ALT+TAB key sequence sent by the Visual Basic application.

CAUSE

Windows 95 and Windows 98 handle the processing of the ALT+TAB key sequence differently. When you press the ALT+TAB key sequence, Windows 95 and Windows 98 handles it immediately rather than placing it in the message queue as Windows 3.x, Windows for Workgroups, and Windows NT do. Therefore, placing the ALT+TAB sequence in the message queue by using SendKeys does not produce the desired behavior.

RESOLUTION

Modify any application that programmatically sends an ALT+TAB key sequence to the Windows 95 or Windows 98 operating systems.

NOTE: Using the ALT+TAB keystroke sequence to make an application active is not recommended by Microsoft under any operating system. In Visual Basic, use the AppActivate statement instead.

STATUS

This behavior is by design. It is not a problem with Visual Basic. It is a difference in the behavior of Windows 95 and Windows 98. By design, Windows 95 and Windows 98 handle the ALT+TAB keystroke sequence differently.

MORE INFORMATION

Steps to Reproduce the Behavior

1. Start Visual Basic.

2. From the File menu, choose New Project.

3. Enter the following code into the Form's Click event procedure:

   Private Sun Form_Click()
      ' Send ALT+TAB to Windows 95
      SendKeys "%{TAB}", True
      Debug.Print "ALT+TAB Sent"
   End Sub

4. Press the F5 key to run the application.

5. Click the form.

At this point, "ALT+TAB Sent" is displayed in the Debug Window (if the Debug Window is visible) but nothing else appears to happen. This behavior is by design in Windows 95 and Windows 98.

Under Windows 3.x, Windows for Workgroups, or Windows NT "ALT+TAB Sent" is displayed in the Debug Window (if the Debug Window is visible, and an application's title appears in the center of the screen and then disappears when that application becomes active.

Additional reference words: kbVBp400 kbVBp300 kbVBp200 kbVBp100 kbVBp kbDSupport kbdsd Alt Tab Send Win95 Win98 kbNoKeyWord

Last Reviewed: August 24, 1998