Examples: %If directive
This example compiles and runs in either Windows™ 3.1, Windows NT™, or Windows™ 95. Depending on whether the application is compiled and run under 16-bit Windows™ (Windows™ 3.1) or 32-bit Windows™ (Windows™ 95 or Windows NT™), you should declare and use an appropriate Windows™ handle variable and the appropriate version of two Windows™ API functions.
GetActiveWindow returns the handle (an Integer in 16-bit Windows™, a Long in 32-bit Windows™) of the currently active window. GetWindowText returns the text in the window title bar.
Dim winTitle As String * 80
%If WIN16 ' 16-bit Windows
Dim activeWin As Integer ' Window handles are Integer.
Declare Function GetActiveWindow% Lib "User" ()
Declare Function GetWindowText% Lib "User" _
(ByVal hWnd%, ByVal lpstr$, ByVal i%)
%ElseIf WIN32 ' 32-bit Windows
Dim activeWin As Long ' Window handles are Long.
Declare Function GetActiveWindow& Lib "User32" ()
Declare Function GetWindowText% Lib "User32" _
Alias "GetWindowTextA" _
(ByVal hWnd&, ByVal lpstr$, ByVal i&)
%End If
' Print the name of the currently active window.
activeWin = GetActiveWindow() ' Returns an Integer or a Long.
Call GetWindowText(ActiveWin, winTitle$, 80)
Print winTitle$