How to Hide a Non-Visual Basic Window or Icon

ID: Q88476


The information in this article applies to:


SUMMARY

Occasionally, it is desirable to hide a window from a Visual Basic application that is not owned by the Visual Basic application. For example, when using the GRAPH.VBX custom control provided with the Microsoft Professional Toolkit for Visual Basic version 1.0 for Windows and with the Professional Edition of Visual Basic version 2.0 for Windows, an icon appears at the bottom of the screen for the graphics server. This icon represents a program that is a support module for the graph control and so serves no direct purpose for the user. You can hide the icon by issuing two Windows API calls.


MORE INFORMATION

The FindWindow and ShowWindow Windows APIs can be used to hide a window. FindWindow uses the title on the top of the window to get a handle that can then be used by ShowWindow. ShowWindow can perform several different operations. In this case it makes a window invisible.

The following example hides the Graphics Server icon started by the Graph control. You can use this same technique to hide any window currently active in Windows.

Step-by-Step Example

  1. Start Visual Basic or from the File menu, choose New Project (ALT, F, N) if Visual Basic is already running. Form1 is created by default.


  2. From the File menu, choose Add File. In the Files box, select the GRAPH.VBX custom control file. The GRAPH tool appears in the Toolbox. This starts the Graphics Server at the bottom of your screen.


  3. Add a command button (Command1) to Form1.


  4. Enter the following code into the global module taking care to enter each Declare statement entirely on one, single line:
    
      Declare Function FindWindow Lib "User" (ByVal lpClassName As Any,
          ByVal lpWindowName As Any) As Integer
       Declare Function ShowWindow Lib "User" (ByVal hWnd As Integer,
          ByVal nCmdShow As Integer) As Integer
     


  5. Enter the following code into the Command1 click event procedure:
    
       Sub Command1_Click()
          Dim Handle As Integer
          Dim WindowName As String
    
          WindowName = "Graphics Server"
          Const SW_Hide = 0
    
          Handle = FindWindow(0&, WindowName)
          X% = ShowWindow(Handle, SW_Hide)
       End Sub
     


  6. Press F5 to run the application.


When you choose the Command1 button, the Graphics Server icon becomes invisible.

Additional query words: 1.00 2.00 3.00


Keywords          : 
Version           : WINDOWS:2.0,3.0
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: June 10, 1999