ACC: How to Tell If Windows for Workgroups Is Running (103185)



The information in this article applies to:

  • Microsoft Access 1.0
  • Microsoft Access 1.1
  • Microsoft Access 2.0

This article was previously published under Q103185

SUMMARY

Although Microsoft Windows and Windows for Workgroups can both display the same version number, you can determine whether Windows for Workgroups is running by using a Windows API call in an Access Basic function.

MORE INFORMATION

The following example can be used to determine if Windows for Workgroups is running.

NOTE: In the following sample code, an underscore (_) is used as a line-continuation character. Remove the underscore from the end of the line when re-creating this code in Access Basic.
  1. Create a new module and enter the following code:
          '***************************************************************
          '  Declarations section of the module
          '***************************************************************
             Option Explicit
             Const WNNC_NET_MultiNet = &H8000
             Const WNNC_SUBNET_WinWorkgroups = 4
             Const WNNC_NET_TYPE = 2
    
             Declare Function WNetGetCaps% Lib "User" (ByVal nIndex%)
    
          '================================================================
          'This function returns True if Windows for Workgroups is running,
          'or False if it is not (generic Windows). It accomplishes this by:
          ' - Calling WNetGetCaps and retrieving the net type flag.
          ' - Inspecting the low word of the flag to see if the Windows for
          '   Workgroups bit is set.
          '================================================================
             Function IsWFW% ()
                Dim wNetType As Integer
    
                wNetType = WNetGetCaps(WNNC_NET_TYPE)
                IsWFW = False
                If (wNetType And WNNC_NET_MultiNet) Then
                   IsWFW = ((wNetType And &HFFFF) And _
                         WNNC_SUBNET_WinWorkgroups) <> 0
                End If
             End Function
    						
  2. From the View menu, choose Immediate Window. Type the following in the Immediate window:

    MsgBox IIf(IsWFW(), "WFW", "Windows") & " is running!"
If Windows for Workgroups is running, you will see the message "WFW is running!"

Modification Type:MajorLast Reviewed:5/6/2003
Keywords:kbhowto kbprogramming KB103185