Microsoft KB Archive/186431

= How To Bring an Application Window to the Top with Focus =

Article ID: 186431

Article Last Modified on 6/29/2004

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Learning Edition
 * Microsoft Visual Basic 6.0 Learning Edition
 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition
 * Microsoft Visual Basic 4.0 Standard Edition
 * Microsoft Visual Basic 4.0 Professional Edition
 * Microsoft Visual Basic 4.0 32-Bit Enterprise Edition

-



This article was previously published under Q186431



SUMMARY
This article describes how to use the BringToTop and FindWindow API functions to bring another window to the foreground with the focus.



Step-by-Step Example
 Start a new Standard EXE project in Visual Basic. Form1 is created by default. Add three CommandButtons to Form1. You might want to increase the size of Command2 and Command3 to allow you to read the caption.  Copy the following code to the General Declarations section of Form1: Option Explicit Dim THandle As Long

Private Declare Function BringWindowToTop Lib "user32" (ByVal _        hwnd As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName _        As Any) As Long

Private Sub Form_Load Command1.Caption = "Run the Calculator" Command2.Caption = "Find Calculator's Handle" Command3.Caption = "Bring Calculator To The Top" Command2.Enabled = False Command3.Enabled = False End Sub

Private Sub Command1_Click Dim X As Long X = Shell("Calc.exe", 1) If X <> 0 Then Command2.Enabled = True End If     End Sub

Private Sub Command2_click THandle = FindWindow(vbEmpty, "Calculator") If THandle = 0 Then Command3.Enabled = False MsgBox "Sorry, the calculator is running" Exit Sub End If        Command3.Enabled = True End Sub

Private Sub Command3_click Dim iret As Long iret = BringWindowToTop(THandle) End Sub

 Run the Program. When you click Command1, the calculator will appear and Command2 will be enabled. Enlarge the size of this program to maximize screen usage and then click Command2. If it finds the window handle for Calculator, it will enable Command3. Click Command3, and note that the Calculator window will be brought to the front so that it has the focus.

