summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/mstest.inc
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /public/sdk/inc/mstest.inc
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'public/sdk/inc/mstest.inc')
-rw-r--r--public/sdk/inc/mstest.inc1250
1 files changed, 1250 insertions, 0 deletions
diff --git a/public/sdk/inc/mstest.inc b/public/sdk/inc/mstest.inc
new file mode 100644
index 000000000..d5d8e0a69
--- /dev/null
+++ b/public/sdk/inc/mstest.inc
@@ -0,0 +1,1250 @@
+'--------------------------------------------------------------------------
+'
+' MSTEST.INC Version 2.00
+' API Declarations for TEST Tools
+'
+' NOTE: All API are ALIAS'd to themselves to support NT
+' API Not yet supported under NT are IFDEF'd out using the
+' predefine symbol of NT.
+'
+' To include the various portions of this file, any combination of the
+' following $DEFINE's must be used in your script prior to $INCLUDEing
+' MSTEST.INC:
+'
+' i.e. IN YOUR SCRIPT add a line such as the following to DEFINE one of
+' the SYMBOLS below, so you only include what you need.
+'
+' REM$ DEFINE MSTest - to get everything in this include file
+' REM$ DEFINE TestCtrl - to get ALL the TESTCTRL declarations etc.
+' REM$ DEFINE TestScrn - to get ALL the TESTSCRN declarations etc.
+' REM$ DEFINE TestDlgs - to get ALL the TESTDLGS declarations etc.
+' REM$ DEFINE TestEvnt - to get ALL the TESTEVNT declarations etc.
+' REM$ DEFINE TestUI - to get ALL the TESTUI declarations etc.
+'
+' OR USE ANY OF THE FOLLOWING SYMBOLS TO GET PARTIAL
+'
+' MSTEST: includes all of MSTEST.INC
+'
+' TESTCTRL: includes all of TESTCTRL
+' W_MISC TESTCTRL Miscellaneous routines
+' W_WINDOW TESTCTRL Window routines
+' W_MENU TESTCTRL Menu routines
+' W_ERROR: TESTCTRL error routines
+' W_CONTROL: includes all of the control declares & routines
+' W_BUTTON: includes all of the BUTTON declares etc.
+' W_CHECK: " CHECKBOX
+' W_OPTION " OPTION BUTTON
+' W_EDIT " EDIT CONTROL
+' W_LIST " LIST BOX
+' W_COMBO " COMBO BOX
+'
+' TESTSCRN: includes all of TESTSCRN, Declares & Error codes
+' TESTSCRN_DECL: includes all SCR Declares
+' TESTSCRN_ERRS: includes all SCR Error codes
+'
+' TESTDLGS: includes all of TESTDLGS, Declares & Error codes
+' TESTDLGS_DECL: includes all DLGS Declares
+' TESTDLGS_ERRS: includes all DLGS Error codes
+'
+' TESTEVNT: includes all TESTEVNT Declares
+'
+' W_ERROR_TRAP: Just like W_ERROR, but includes a generic
+' WErrorTrap to display WError and ErrorText
+' NOTE: This is not included from any other define.
+'
+' NOTE: Including MSTEST.INC without out using any of the above $DEFINE's
+' will include only TESTDRVR.EXE trappable and untrappable error
+' codes, and declares for CRLF, TRUE (-1), FALSE(0), Key values for
+' DoKeys() from TESTEVNT and few routines from TESTCtrl.
+'
+'---------------------------------------------------------------------------
+'
+' Copyright (C) 1991-1992 Microsoft Corporation
+'
+' You have a royalty-free right to use, modify, reproduce and distribute
+' this file (and/or any modified version) in any way you find useful,
+' provided that you agree that Microsoft has no warranty, obligation or
+' liability for its contents. Refer to the Microsoft Windows Programmer's
+' Reference for further information.
+'
+' This file is not garanteed by Microsoft to be error free. Every effort
+' has been made to ensure proper data-types and declarations etc., but no
+' testing has been performed using this include file. Additionally, some
+' API's, though listed, may not be compatible with the TESTDrvr language.
+'
+'----------------------------------------------------------------------------
+
+' *********************
+'$IFNDEF MSTEST_INCLUDED
+'$DEFINE MSTEST_INCLUDED
+' *********************
+
+'----------------------------------------------------------------------------
+' Generic Global Variables
+'----------------------------------------------------------------------------
+Global CRLF As String ' UNDONE: Change to Const X = Chr$()
+CRLF = Chr$(13) + Chr$(10) ' once supported
+
+Const TRUE = -1
+Const FALSE = 0
+
+
+'----------------------------------------------------------------------------
+' Unrecoverable TESTDRVR error codes
+'----------------------------------------------------------------------------
+Const ERR_STACK_OVERFLOW = 0
+Const ERR_STACK_UNDERFLOW = 1
+Const ERR_OUT_OF_STRING_SPACE = 2
+Const ERR_CANT_LOAD_TESTVIEW_DLL = 3
+Const ERR_OUT_OF_MEMORY = 4
+
+
+'----------------------------------------------------------------------------
+' Recoverable TESTDRVR error codes
+'----------------------------------------------------------------------------
+Const ERR_GOSUB_STACK_OVERFLOW = 5
+Const ERR_RETURN_WITHOUT_GOSUB = 6
+Const ERR_BAD_FILE_NUMBER = 7
+Const ERR_FILE_IO = 8
+Const ERR_RUN_CMD_TOO_LONG = 9
+Const ERR_SHELL_CMD_TOO_LONG = 10
+Const ERR_SETFILE = 11
+Const ERR_FILE_NUMBER_IN_USE = 12
+Const ERR_CANT_OPEN_FILE = 13
+Const ERR_ILLEGAL_FUNCTION_CALL = 14
+Const ERR_INVALID_PATH = 15
+Const ERR_INVALID_DRIVE = 16
+Const ERR_NO_CURRENT_WORKING_DIR = 17
+Const ERR_BAD_RUN_CMD = 18
+Const ERR_DIVISION_BY_ZERO = 19
+Const ERR_CANT_LOAD_DLL = 20
+Const ERR_PROC_NOT_FOUND_IN_DLL = 21
+Const ERR_CANNOT_RESUME = 22
+Const ERR_MEM_ALLOC = 23
+Const ERR_INVALID_POINTER = 24
+Const ERR_INVALID_ALLOC_SIZE = 25
+Const ERR_NULL_PIONTER_REF = 26
+Const ERR_SUBSCRIPT_RANGE = 27
+Const ERR_INPUT_PAST_EOF = 28
+Const ERR_FILELIST_PROC = 29
+Const ERR_INVALID_ATTRIBUTE = 30
+
+'$ifdef WINUSER_SHOW_COMMANDS AND NOT NT
+
+'----------------------------------------------------------------------------
+' RUN statement Show commands: RUN "command"[, [NOWAIT][, ShowCommand]]
+' NOTE: These are the same as the SW_ constants in Windows.h
+'----------------------------------------------------------------------------
+Const SW_HIDE = 0
+Const SW_SHOWNORMAL = 1
+Const SW_NORMAL = 1
+Const SW_SHOWMINIMIZED = 2
+Const SW_SHOWMAXIMIZED = 3
+Const SW_MAXIMIZE = 3
+Const SW_SHOWNOACTIVATE = 4
+Const SW_SHOW = 5
+Const SW_MINIMIZE = 6
+Const SW_SHOWMINNOACTIVE = 7
+Const SW_SHOWNA = 8
+Const SW_RESTORE = 9
+
+'$endif WINUSER_SHOW_COMMANDS AND NOT NT
+
+'----------------------------------------------------------------------------
+' Key contants used with WKey, PlayKeys, & PlayKeyshWnd
+'----------------------------------------------------------------------------
+Const K_ENTER = "{ENTER}"
+Const K_ESC = "{ESC}"
+Const K_UP = "{UP}"
+Const K_DOWN = "{DOWN}"
+Const K_LEFT = "{LEFT}"
+Const K_RIGHT = "{RIGHT}"
+Const K_END = "{END}"
+Const K_PGUP = "{PGUP}"
+Const K_PGDN = "{PGDN}"
+Const K_INSERT = "{INSERT}"
+Const K_INS = "{INSERT}"
+Const K_DELETE = "{DELETE}"
+Const K_DEL = "{DELETE}"
+Const K_HOME = "{HOME}"
+Const K_TAB = "{TAB}"
+Const K_BS = "{BS}"
+Const K_F1 = "{F1}"
+Const K_F2 = "{F2}"
+Const K_F3 = "{F3}"
+Const K_F4 = "{F4}"
+Const K_F5 = "{F5}"
+Const K_F6 = "{F6}"
+Const K_F7 = "{F7}"
+Const K_F8 = "{F8}"
+Const K_F9 = "{F9}"
+Const K_F10 = "{F10}"
+Const K_F11 = "{F11}"
+Const K_F12 = "{F12}"
+Const K_F13 = "{F13}"
+Const K_F14 = "{F14}"
+Const K_F15 = "{F15}"
+Const K_F16 = "{F16}"
+Const K_SHIFT = "+"
+Const K_CTRL = "^"
+Const K_ALT = "%"
+
+' TESTCtrl API & Constants that are always declared.
+'
+' WGetFocus() simply preforms the exact function as the windows
+' GetFocus() API. Is contained in TESTCtrl since it is such a
+' commonly used API in scripts, and it makes it much easier to
+' use since it is defined simply by including MSTEST.INC. It is
+' renamed to prevent duplicate definitions due to scripts that
+' do define GetFocus() and include MSTEST.INC.
+'---------------------------------------------------------------
+Declare Function WGetFocus Lib "TESTCtrl.dll" Alias "WGetFocus" () As Integer
+Declare Sub WSetActWnd Lib "TESTCtrl.dll" Alias "WSetActWnd" (hWnd%)
+Declare Function WGetActWnd Lib "TESTCtrl.dll" Alias "WGetActWnd" (hWnd%) As Integer
+Declare Function WFndWnd Lib "TESTCtrl.dll" Alias "WFndWnd" (lpszCaption$, wFlags%) As Integer
+Declare Function WFndWndC Lib "TESTCtrl.dll" Alias "WFndWndC" (lpszText$, lpszClass$, wFlags%) As Integer
+Declare Function WFndWndWait Lib "TESTCtrl.dll" Alias "WFndWndWait" (lpszCaption$, wFlags%, wSeconds%) As Integer
+Declare Function WFndWndWaitC Lib "TESTCtrl.dll" Alias "WFndWndWaitC" (lpszText$, lpszClass$, wFlags%, wSeconds%) As Integer
+
+Const FW_DEFAULT = &h0000 'Default
+Const FW_RESTOREICON = &h0081 '&h0080 Or FW_FOCUS
+Const FW_NOEXIST = &h0040
+Const FW_EXIST = &h0000 'Default
+Const FW_CHILDNOTOK = &h0020
+Const FW_CHILDOK = &h0000 'Default
+Const FW_HIDDENOK = &h0010
+Const FW_HIDDENNOTOK = &h0000 'Default
+Const FW_ACTIVE = &h0008
+Const FW_ALL = &h0000 'Default
+Const FW_CASE = &h0004
+Const FW_NOCASE = &h0000 'Default
+Const FW_PART = &h0002
+Const FW_FULL = &h0000 'Default
+Const FW_FOCUS = &h0001
+Const FW_NOFOCUS = &h0000 'Default
+
+' TESTEvnt API that are always defined.
+'--------------------------------------
+Declare Sub DoKeys Lib "TESTEvnt.Dll" Alias "DoKeys" (lpStr$)
+Declare Sub DoKeysHwnd Lib "TESTEvnt.Dll" Alias "DoKeyshWnd" (hWnd%, lpStr$)
+
+' Useful function when working with the Windows API,
+' to extract the HI/LO wordt from a Long Integer.
+'---------------------------------------------------
+Declare Function HIWORD(LongVar&) As Integer
+Function HIWORD (LongVar&) Static As Integer
+ HIWORD = LongVar& / 65536
+End Function
+
+Declare Function LOWORD(LongVar&) As Integer
+Function LOWORD (LongVar&) Static As Integer
+ LOWORD = LongVar& And &H0000FFFF
+End Function
+
+' Useful function when working with the Windows API,
+' to extract the HI/LO byte from am Integer.
+'---------------------------------------------------
+Declare Function HIBYTE(IntVar%) As Integer
+Function HIBYTE (IntVar%) Static As Integer
+ HIBYTE = IntVar% / 256
+End Function
+
+Declare Function LOBYTE(IntVar%) As Integer
+Function LOBYTE (IntVar%) Static As Integer
+ LOBYTE = IntVar% And &H00FF
+End Function
+
+' *********************
+'$ENDIF MSTEST_INCLUDED
+' *********************
+
+'----------------------------------------------------------------------------
+' DEFINE's that control the inclusion of the remainder of MSTEST.INC
+'----------------------------------------------------------------------------
+'$IFDEF MSTEST
+ '$DEFINE TESTCTRL
+ '$DEFINE TESTSCRN
+ '$DEFINE TESTDLGS
+ '$DEFINE TESTEVNT
+ '$DEFINE TESTUI
+'$ENDIF
+
+'$IFDEF TESTCTRL
+ '$DEFINE W_MISC
+ '$DEFINE W_WINDOW
+ '$DEFINE W_MENU
+ '$DEFINE W_ERROR
+ '$DEFINE W_CONTROL
+'$ENDIF
+
+'$IFDEF W_ERROR_TRAP
+ '$DEFINE W_ERROR
+'$ENDIF
+
+'$IFDEF W_CONTROL
+ '$DEFINE W_BUTTON
+ '$DEFINE W_CHECK
+ '$DEFINE W_OPTION
+ '$DEFINE W_EDIT
+ '$DEFINE W_LIST
+ '$DEFINE W_COMBO
+'$ENDIF
+
+'$IFDEF TESTSCRN
+ '$DEFINE TESTSCRN_DECL
+ '$DEFINE TESTSCRN_ERRS
+'$ENDIF
+
+'$IFDEF TESTDLGS
+ '$DEFINE TESTDLGS_DECL
+ '$DEFINE TESTDLGS_ERRS
+'$ENDIF
+
+'$IFDEF W_BUTTON OR W_CHECK OR W_OPTION OR W_EDIT OR W_LIST OR W_COMBO
+ '$DEFINE W_A_CONTROL
+'$ENDIF
+
+' *********************
+'$IFDEF TESTUI AND NOT TESTUI_INCLUDED AND NOT NT
+' *********************
+'----------------------------------------------------------------------------
+' TESTUI.dll:
+' Function declarations for use with TESTUI
+'----------------------------------------------------------------------------
+Declare Function DlgBox Lib "TESTUI.dll" Alias "DlgBox" (DlgId%, hwndOwner%, proc As CallBack, ResFile$) As Integer
+Declare Function DlgBox3D Lib "TESTUI.dll" Alias "DlgBox3D" (DlgId%, hwndOwner%, proc As CallBack, ResFile$) As Integer
+Declare Function SetScriptMenu Lib "TESTUI.dll" Alias "SetScriptMenu" (MenuId%, hwnd%, ResFile$) As Integer
+Declare Function SetIconBar Lib "TESTUI.dll" Alias "SetIconBar" (IconBarId%, proc As Callback, AppName$, ResFile$, fAlwaysOnTop%) As Integer
+Declare Function SetSysMenu Lib "TESTUI.dll" Alias "SetSysMenu" (MenuId%, proc As Callback, AppName$, ResFile$) As Integer
+Declare Function SetSysMenu3D Lib "TESTUI.dll" Alias "SetSysMenu3D" (MenuId%, proc As Callback, AppName$, ResFile$) As Integer
+Declare Function MSTLoadIcon Lib "TESTUI.dll" Alias "MSTLoadIcon" (IconId%, ResFile$) As Integer
+Declare Sub MSTDestroyIcon Lib "TESTUI.dll" Alias "MSTDestroyIcon" (hIcon%)
+
+' *********************
+'$DEFINE TESTUI_INCLUDED
+'$ENDIF
+'$IFDEF W_MISC AND NOT W_MISC_INCLUDED
+' *********************
+
+
+'----------------------------------------------------------------------------
+' W_MISC: Miscellanious Routines, types and Constants.
+'----------------------------------------------------------------------------
+Const MAX_CAPTION = 128
+
+Type INFO
+ hWnd As Integer
+ hWndParent As Integer
+ szClass As String * MAX_CAPTION
+ szCaption As String * MAX_CAPTION
+ szParentClass As String * MAX_CAPTION
+ szParentCaption As String * MAX_CAPTION
+ szModuleName As String * MAX_CAPTION
+ lStyle As Long
+ fChild As Integer
+ wID As Integer
+ wLeft As Integer
+ wTop As Integer
+ wRight As Integer
+ wBottom As Integer
+ wWidth As Integer
+ wHeight As Integer
+End Type
+
+' The 4 WMessage[W|L] API are slight variations on the windows
+' SendMessage() API. Two things are provided:
+'
+' Validation of hWnd%: - If invalid an error value that
+' is trappable by WErrorTrap is
+' - If hWnd is NULL, the message goes
+' to the ActiveWindow.
+' Only need paramaters: Pass in only the paramaters that are needed:
+' WMessage: Wp and Lp are set to zero
+' WMessageW: Lp is set to zero
+' WMessageL: Wp is set to zero
+' WMessageWL: just like SendMessage() but with hWnd validation
+'---------------------------------------------------------------------
+Declare Function WMessage Lib "TESTCtrl.dll" Alias "WMessage" (hWnd%, wMsg%)
+Declare Function WMessageW Lib "TESTCtrl.dll" Alias "WMessageW" (hWnd%, wMsg%, wp%)
+Declare Function WMessageL Lib "TESTCtrl.dll" Alias "WMessageL" (hWnd%, wMsg%, lp As Any)
+Declare Function WMessageWL Lib "TESTCtrl.dll" Alias "WMessageWL" (hWnd%, wMsg%, wp%, lp As Any)
+Declare Function WIsVisible Lib "TESTCtrl.dll" Alias "WIsVisible" (hWnd%) As Integer
+Declare Function WTextLen Lib "TESTCtrl.dll" Alias "WTextLen" (hWnd%) As Long
+Declare Sub WGetText Lib "TESTCtrl.dll" Alias "WGetText" (hWnd%, lpszBuffer$)
+Declare Sub WSetText Lib "TESTCtrl.dll" Alias "WSetText" (hWnd%, lpszText$)
+Declare Function WNumAltKeys Lib "TESTCtrl.dll" Alias "WNumAltKeys" () As Integer
+Declare Sub WGetAltKeys Lib "TESTCtrl.dll" Alias "WGetAltKeys" (lpszBuff$)
+Declare Function WNumDupAltKeys Lib "TESTCtrl.dll" Alias "WNumDupAltKeys" () As Integer
+Declare Sub WGetDupAltKeys Lib "TESTCtrl.dll" Alias "WGetDupAltKeys" (lpszBuff$)
+Declare Sub WDisplayInfo Lib "TESTCtrl.dll" Alias "WDisplayInfo" (hWnd%, wDisplay%)
+Declare Sub WGetInfo Lib "TESTCtrl.dll" Alias "WGetInfo" (hWnd%, lpInfo As INFO)
+
+' Layered routines to simulate string functions for the coresponding
+' TESTCtrl API
+'----------------------------------------------------------------------------
+Declare Function GetText (hWnd%) As String
+Declare Function GetAltKeys () As String
+Declare Function GetDupAltKeys () As String
+
+Const DI_DIALOG = 1
+Const DI_DEBUG = 2
+Const DI_BOTH = 3
+
+'----------------------------------------------------------------------------
+' GetText: Layered routine for WGetText()
+'----------------------------------------------------------------------------
+Function GetText(hWnd%) Static As String
+Dim lpszBuffer As String
+Dim textLength As Long
+ GetText = ""
+ textLength = WTextLen(hWnd%)
+ If textLength > 0 Then
+ lpszBuffer = String$(textLength+1, " ")
+ WGetText hWnd%, lpszBuffer
+ GetText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' GetAltKeys: Layered routine for WGetAltKeys()
+'----------------------------------------------------------------------------
+Function GetAltKeys() Static As String
+Dim lpszBuffer As String
+ lpszBuffer = String$(WNumAltKeys()+1, " ")
+ WGetAltKeys lpszBuffer
+ GetAltKeys = lpszBuffer
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' GetDupAltKeys: Layered routine for WGetDupAltKeys()
+'----------------------------------------------------------------------------
+Function GetDupAltKeys() Static As String
+Dim lpszBuffer As String
+ lpszBuffer = String$(WNumDupAltKeys()+1, " ")
+ WGetDupAltKeys lpszBuffer
+ GetDupAltKeys = lpszBuffer
+ lpszBuffer = ""
+End Function
+
+' *********************
+'$DEFINE W_MISC_INCLUDED
+'$ENDIF
+'$IFDEF TESTEVNT AND NOT TESTEVNT_INCLUDED
+' *********************
+
+'----------------------------------------------------------------------------
+' TESTEvnt.Dll:
+' Function declarations for use with TESTEvnt
+'----------------------------------------------------------------------------
+'$IFNDEF NT
+
+TYPE MEMORYINFO
+ LargestAvail AS LONG ' Largest available free block in bytes
+ MaxPagesUnlock AS LONG ' Maximum unlocked page allocation in pages
+ MaxPagesLocked AS LONG ' Maximum locked page allocation in pages
+ TotalLinBytes AS LONG ' Linear address space size in bytes
+ TotalUnlockBytes AS LONG ' Total number of unlocked bytes
+ TotalFreePhysBytes AS LONG ' Total number of free physical bytes
+ TotalPhysBytes AS LONG ' Total number of physical bytes
+ FreeLinBytes AS LONG ' Free linear address space in bytes
+ SwapFileSize AS LONG ' Size of paging file/partition in bytes
+ Reserved1 AS LONG ' reserved for future expansion, all bits set
+ Reserved2 AS LONG ' reserved for future expansion, all bits set
+ Reserved3 AS LONG ' reserved for future expansion, all bits set
+ Reserved4 AS LONG ' reserved for future expansion, all bits set
+ NumSelectors AS INTEGER ' Total number of selectors on current LDT
+ NumFreeSelectors AS INTEGER ' Number of free selectors on current LDT
+ GlobalHeapFree AS LONG ' Number of free Global bytes
+ USERHeapFree AS LONG ' Number of free bytes in USER.EXE's heap
+ GDIHeapFree AS LONG ' Number of free bytes in GDI.EXE's heap
+ SysResFree AS INTEGER ' *PERCENTAGE* of free system resources
+END TYPE
+
+Declare Sub WaitUntilIdle Lib "TESTEVNT.DLL" Alias "WaitUntilIdle" ()
+Declare Function GetMemoryInfo Lib "TESTEvnt.Dll" Alias "GetMemoryInfo" (lpMemInfo As MEMORYINFO) As Integer
+Declare Function VMGetScreenCols Lib "TESTEvnt.Dll" Alias "VMGetScreenCols" (HWND%) As Integer
+Declare Function VMGetCursPos Lib "TESTEvnt.Dll" Alias "VMGetCursPos" (HWND%) As Integer
+Declare Function VMGetScreen Lib "TESTEvnt.Dll" Alias "VMGetScreen" (HWND%, UINT%, UINT%, UINT%, UINT%, LPSTR$) As Integer
+Declare Function VMGetScreenClip Lib "TESTEvnt.Dll" Alias "VMGetScreenClip" (HWND%, UINT%, UINT%, UINT%, UINT%) As Integer
+Declare Sub VMSetBackground Lib "TESTEvnt.Dll" Alias "VMSetBackground" (HWND%, BOOL%)
+Declare Function VMPipeOpen Lib "TESTEvnt.Dll" Alias "VMPipeOpen" (HWND%, SCRIPTSUB As Callback ) As Integer
+Declare Function VMPipeClose Lib "TESTEvnt.Dll" Alias "VMPipeClose" (HWND%) As Integer
+Declare Function VMPipeGetText Lib "TESTEvnt.Dll" Alias "VMPipeGetText" (HWND%, LPSTR$ ) As Integer
+
+CONST PIPESTRINGSIZE = 129 ' 128 chars + NULL
+
+' ** VMPipeGetText() Return values... **
+'----------------------------------------
+CONST PGT_FAILED = &H0000
+CONST PGT_COMPLETE = &H0001
+CONST PGT_MOREREADY = &H0002
+
+'$ENDIF NT 'for TESTEvnt VM Stuff
+
+Declare Sub QueKeys Lib "TESTEvnt.Dll" Alias "QueKeys" (lpStr$)
+Declare Sub QueKeyDn Lib "TESTEvnt.Dll" Alias "QueKeyDn" (lpStr$)
+Declare Sub QueKeyUp Lib "TESTEvnt.Dll" Alias "QueKeyUp" (lpStr$)
+Declare Sub QueSetSpeed Lib "TESTEvnt.Dll" Alias "QueSetSpeed" (ms%)
+Declare Sub QuePause Lib "TESTEvnt.Dll" Alias "QuePause" (ms&)
+Declare Sub QueFlush Lib "TESTEvnt.Dll" Alias "QueFlush" (fRestoreKeyState%)
+Declare Sub QueEmpty Lib "TESTEvnt.Dll" Alias "QueEmpty" ()
+Declare Sub QueMouseMove Lib "TESTEvnt.Dll" Alias "QueMouseMove" (x%, y%)
+Declare Sub QueMouseDn Lib "TESTEvnt.Dll" Alias "QueMouseDn" (iBtn%, x%, y%)
+Declare Sub QueMouseUp Lib "TESTEvnt.Dll" Alias "QueMouseUp" (iBtn%, x%, y%)
+Declare Sub QueMouseClick Lib "TESTEvnt.Dll" Alias "QueMouseClick" (iBtn%, x%, y%)
+Declare Sub QueMouseDblClk Lib "TESTEvnt.Dll" Alias "QueMouseDblClk" (iBtn%, x%, y%)
+Declare Sub QueMouseDblDn Lib "TESTEvnt.Dll" Alias "QueMouseDblDn" (iBtn%, x%, y%)
+Declare Sub QueSetFocus Lib "TESTEvnt.Dll" Alias "QueSetFocus" (hwnd%)
+Declare Sub QueSetRelativeWindow Lib "TESTEvnt.Dll" Alias "QueSetRelativeWindow" (hwnd%)
+
+'$ifndef VK_WINAPI
+Const VK_LBUTTON = 1
+Const VK_RBUTTON = 2
+Const VK_MBUTTON = 4
+'$define VK_WINAPI
+'$endif
+
+' *********************
+'$DEFINE TESTEVNT_INCLUDED
+'$ENDIF
+'$IFDEF TESTSCRN_DECL AND NOT TESTSCRN_DECL_INCLUDED
+' *********************
+
+
+'----------------------------------------------------------------------------
+' TESTScrn.DLL:
+' Type, Const, and Function declarations for use with TESTScrn
+'----------------------------------------------------------------------------
+Type wRect
+ x1 As Integer
+ y1 As Integer
+ x2 As Integer
+ y2 As Integer
+End Type
+
+Const SCRNAPPEND = 0
+Const SCRNREPLACE = 1
+Const SCRNINSERT = 2
+
+'*** TESTSCRN.DLL Routines
+'
+Declare Function fCompFiles Lib "TESTScrn.DLL" Alias "fCompFiles" (lpszFileName1$, Scr1%, lpszFileName2$, Scr2%, CompareType%) As Integer
+Declare Function fCompScreenActivate Lib "TESTScrn.DLL" Alias "fCompScreenActivate" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Scr1%, Hide%, Flag%) As Integer
+Declare Function fCompScreen Lib "TESTScrn.DLL" Alias "fCompScreen" (lpszFileName$, lpRect As wRect, Scr1%, Hide%, Flag%) As Integer
+Declare Function fCompWindowActivate Lib "TESTScrn.DLL" Alias "fCompWindowActivate" (lpszFileName$, OpenKeys$, CloseKeys$, Scr1%, Hide%, Flag%) As Integer
+Declare Function fCompWindow Lib "TESTScrn.DLL" Alias "fCompWindow" (lpszFileName$, hWnd%, Scr1%, Hide%, Flag%) As Integer
+Declare Function fDelScreen Lib "TESTScrn.DLL" Alias "fDelScreen" (lpszFileName$, Scr%) As Integer
+Declare Function fDumpFileToClip Lib "TESTScrn.DLL" Alias "fDumpFileToClip" (lpszFileName$, Scr%) As Integer
+Declare Function fDumpScreenActivate Lib "TESTScrn.DLL" Alias "fDumpScreenActivate" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Action%, Scr1%, Flag%) As Integer
+Declare Function fDumpScreen Lib "TESTScrn.DLL" Alias "fDumpScreen" (lpszFileName$, lpRect As wRect, Action%, Scr1%, Flag%) As Integer
+Declare Function fDumpSrnToClipActivate Lib "TESTScrn.DLL" Alias "fDumpSrnToClipActivate" (OpenKeys$, CloseKeys$, lpRect As wRect, Hide%) As Integer
+Declare Function fDumpSrnToClip Lib "TESTScrn.DLL" Alias "fDumpSrnToClip" (lpRect As wRect, Hide%) As Integer
+Declare Function fDumpWindowActivate Lib "TESTScrn.DLL" Alias "fDumpWindowActivate" (lpszFileName$, OpenKeys$, CloseKeys$, Action%, Scr1%, Flag%) As Integer
+Declare Function fDumpWindow Lib "TESTScrn.DLL" Alias "fDumpWindow" (lpszFileName$, wHnd%, Action%, Scr1%, Flag%) As Integer
+Declare Function fDumpWndToClipActivate Lib "TESTScrn.DLL" Alias "fDumpWndToClipActivate" (OpenKeys$, CloseKeys$, Hide%) As Integer
+Declare Function fDumpWndToClip Lib "TESTScrn.DLL" Alias "fDumpWndToClip" (hWnd%, Hide%) As Integer
+Declare Function fFileInfo Lib "TESTScrn.DLL" Alias "fFileInfo" (lpszName$, lpRect AS wRect, VideoMode AS POINTER TO INTEGER, Count AS POINTER TO INTEGER) As Integer
+Declare Function fGetDLLVersion Lib "TESTScrn.DLL" Alias "fGetDLLVersion" (lpszFileName$) As Integer
+Declare Function fGetMaxScreen Lib "TESTScrn.DLL" Alias "fGetMaxScreen" (lpszFileName$) As Integer
+Declare Function fGetOS Lib "TESTScrn.DLL" Alias "fGetOS" (lpszFileName$) As Integer
+Declare Function fSaveFileToDIB Lib "TESTScrn.DLL" Alias "fSaveFileToDIB" (lpszFileName1$, Scr%, lpszFileName2$) As Integer
+Declare Function fSaveSrnToDIBActivate Lib "TESTScrn.DLL" Alias "fSaveSrnToDIBActivate" (lpszFileName$, OpenKeys$, CloseKeys$, lpRect As wRect, Hide%) As Integer
+Declare Function fSaveSrnToDIB Lib "TESTScrn.DLL" Alias "fSaveSrnToDIB" (lpszFileName$, lpRect As wRect, Hide%) As Integer
+Declare Function fSaveWndToDIBActivate Lib "TESTScrn.DLL" Alias "fSaveWndToDIBActivate" (lpszFileName$, OpenKeys$, CloseKeys$, Hide%) As Integer
+Declare Function fSaveWndToDIB Lib "TESTScrn.DLL" Alias "fSaveWndToDIB" (lpszFileName$, hWnd%, Hide%) As Integer
+Declare Function fViewScreen Lib "TESTScrn.DLL" Alias "fViewScreen" (lpszFileName$, hWnd%, Scr1%, Action%) As Integer
+
+
+' *********************
+'$DEFINE TESTSCRN_DECL_INCLUDED
+'$ENDIF
+'$IFDEF TESTSCRN_ERRS AND NOT TESTSCRN_ERRS_INCLUDED
+' *********************
+
+
+'*** TESTScrn.DLL Error Codes
+'
+Const ERR_SCR_NOERROR = 0
+Const ERR_SCR_FILEACCESS = 301
+Const ERR_SCR_INVALIDFIL = 302
+Const ERR_SCR_INVALSRNID = 303
+Const ERR_SCR_INVALSRNMD = 304
+Const ERR_SCR_OUTOMEMORY = 305
+Const ERR_SCR_READSRNFIL = 306
+Const ERR_SCR_RELMEMORY = 307
+Const ERR_SCR_CREATEDDB = 308
+Const ERR_SCR_RWSRNTABLE = 309
+Const ERR_SCR_RWCOLTABLE = 310
+Const ERR_SCR_WSRNIMAGE = 311
+Const ERR_SCR_WFILEHEAD = 312
+Const ERR_SCR_CREATEDIB = 313
+Const ERR_SCR_SCREENSIZE = 314
+Const ERR_SCR_DISPSCREEN = 315
+Const ERR_SCR_INVALIDACT = 316
+Const ERR_SCR_IMAGEDIFF = 317
+Const ERR_SCR_SRNSIZEDIF = 318
+Const ERR_SCR_FILEEXIST = 319
+Const ERR_SCR_CTEMPFILE = 320
+Const ERR_SCR_HIDEWIN = 321
+Const ERR_SCR_INVALWHAND = 322
+Const ERR_SCR_OFILEFORM = 323
+Const ERR_SCR_SRNFILEFUL = 324
+Const ERR_SCR_INVALSCALE = 325
+Const ERR_SCR_OPENCB = 326
+Const ERR_SCR_EMPTYCB = 327
+Const ERR_SCR_COPYTOCB = 328
+Const ERR_SCR_CLOSECB = 329
+Const ERR_SCR_CREATEPAL = 330
+Const ERR_SCR_LIBLOADERR = 331
+
+
+' *********************
+'$DEFINE TESTSCRN_ERRS_INCLUDED
+'$ENDIF
+'$IFNDEF NT
+'$IFDEF TESTDLGS_DECL AND NOT TESTDLGS_DECL_INCLUDED
+' *********************
+
+
+'----------------------------------------------------------------------------
+' TESTDlgs.DLL:
+' Type, Const, and Function declarations for use with TESTDlgs
+'----------------------------------------------------------------------------
+Const cchCLASSMAC = 32
+Const cchTEXTMAC = 256
+Const wVEREB = 1
+
+Type DCR
+ xLeft As Integer
+ yMin As Integer
+ xRight As Integer
+ yLast As Integer
+End Type
+
+Declare Function AwaitSaveCompletion Lib "TESTDlgs.DLL" Alias "AwaitSaveCompletion" () As Integer
+Declare Function ComparisonResults Lib "TESTDlgs.DLL" Alias "ComparisonResults" () As Integer
+Declare Function CmpWindow Lib "TESTDlgs.DLL" Alias "CmpWindow" (hWnd%, nDialog%, fIncludeParent%) As Integer
+Declare Function CmpWindowActivate Lib "TESTDlgs.DLL" Alias "CmpWindowActivate" (lpszOpenKeys$, lpszCloseKey$, nDialog%, fIncludeParent%) As Integer
+Declare Function CmpWindowCaption Lib "TESTDlgs.DLL" Alias "CmpWindowCaption" (lpszCap$, nDialog%, fIncludeParent%) As Integer
+Declare Function CmpWindowDelayed Lib "TESTDlgs.DLL" Alias "CmpWindowDelayed" (nDelay%, nDialog%, fIncludeParent%, lpszCloseKeys$) As Integer
+Declare Function FindWindowCaption Lib "TESTDlgs.DLL" Alias "FindWindowCaption" (lpszCap$, hWndStart%) As Integer
+Declare Function SaveMenu Lib "TESTDlgs.DLL" Alias "SaveMenu" (hWnd%, nDialog%, lpszDesc$, fReplace%) As Integer
+Declare Function SaveMenuActivate Lib "TESTDlgs.DLL" Alias "SaveMenuActivate" (lpszOpenKeys$, lpszCloseKeys$, nDialog%, lpszDesc$, fReplace%) As Integer
+Declare Function SaveMenuCaption Lib "TESTDlgs.DLL" Alias "SaveMenuCaption" (lpszCap$, nDialog%, lpszDesc$, fReplace%) As Integer
+Declare Function SaveMenuDelayed Lib "TESTDlgs.DLL" Alias "SaveMenuDelayed" (nDelay%, nDialog%, lpszDesc$, fReplace%, CloseKeys$) As Integer
+Declare Function SaveWindow Lib "TESTDlgs.DLL" Alias "SaveWindow" (hWnd%, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer
+Declare Function SaveWindowActivate Lib "TESTDlgs.DLL" Alias "SaveWindowActivate" (lpszOpenKeys$, lpszCloseKeys$, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer
+Declare Function SaveWindowCaption Lib "TESTDlgs.DLL" Alias "SaveWindowCaption" (lpszCap$, nDialog%, lpszDesc$, fReplace%, fIncludeParent%) As Integer
+Declare Function SaveWindowDelayed Lib "TESTDlgs.DLL" Alias "SaveWindowDelayed" (nDelay%, nDialog%, lpszDesc$, fReplace%, fIncludeParent%, lpszCloseKeys$) As Integer
+Declare Function SetDialogFile Lib "TESTDlgs.DLL" Alias "SetDialogFile" (lpszDialogName$) As Integer
+Declare Function SetLogFile Lib "TESTDlgs.DLL" Alias "SetLogFile" (lpszLogName$) As Integer
+
+
+' *********************
+'$DEFINE TESTDLGS_DECL_INCLUDED
+'$ENDIF
+'$IFDEF TESTDLGS_ERRS AND NOT TESTDLGS_ERRS_INCLUDED
+' *********************
+
+
+'*** Function return codes
+'
+Const ERR_DLGS_NOERR = 0
+Const ERR_DLGS_FUZZY = -1
+Const ERR_DLGS_EXCESS = -2
+Const ERR_DLGS_CTLNOTFOUND = -3
+Const ERR_DLGS_NODLGFILE = -10
+Const ERR_DLGS_FILENOTFOUND = -11
+Const ERR_DLGS_BADWDLFILE = -12
+Const ERR_DLGS_LIBLOADERR = -13
+Const ERR_DLGS_SAVEERR = -14
+Const ERR_DLGS_DLGFILEERR = -15
+Const ERR_DLGS_TMPFILEERR = -16
+Const ERR_DLGS_VERSIONERR = -17
+Const ERR_DLGS_DLGFILEFULL = -18
+Const ERR_DLGS_OUTOFMEMORY = -20
+Const ERR_DLGS_BUFFERERR = -21
+Const ERR_DLGS_NOTIMER = -22
+Const ERR_DLGS_NODYNDIALOG = -30
+Const ERR_DLGS_INVALIDHWND = -31
+Const ERR_DLGS_BADCAPTION = -32
+Const ERR_DLGS_BADDLGNUM = -33
+Const ERR_DLGS_BADCTLINDEX = -34
+Const ERR_DLGS_BADCTLTYPE = -35
+Const ERR_DLGS_BADSAVEACTION = -36
+Const ERR_DLGS_APPSPECIFIC = -37
+
+
+' *********************
+'$DEFINE TESTDLGS_ERRS_INCLUDED
+'$ENDIF
+'$ENDIF NT for TESTDLGS
+'$IFDEF W_WINDOW AND NOT W_WINDOW_INCLUDED
+' *********************
+
+
+'----------------------------------------------------------------------------
+' TESTCtrl.dll routines, types, & constants
+'----------------------------------------------------------------------------
+
+'*** Window size and position types
+'
+Type WNDPOS
+ wLeft As Integer
+ wTop As Integer
+End Type
+
+Type WNDSIZ
+ wWidth As Integer
+ wHeight As Integer
+End Type
+
+Type WNDPOSSIZ
+ wLeft As Integer
+ wTop As Integer
+ wWidth As Integer
+ wHeight As Integer
+End Type
+
+'*** Window Positioning and Sizing routines & contants
+'
+Declare Sub WMinWnd Lib "TESTCtrl.dll" Alias "WMinWnd" (hWnd%)
+Declare Sub WMaxWnd Lib "TESTCtrl.dll" Alias "WMaxWnd" (hWnd%)
+Declare Sub WResWnd Lib "TESTCtrl.dll" Alias "WResWnd" (hWnd%)
+Declare Sub WSetWndPos Lib "TESTCtrl.dll" Alias "WSetWndPos" (hWnd%, wLeft%, wTop%)
+Declare Sub WSetWndSiz Lib "TESTCtrl.dll" Alias "WSetWndSiz" (hWnd%, wWidth%, wHeight%)
+Declare Sub WSetWndPosSiz Lib "TESTCtrl.dll" Alias "WSetWndPosSiz" (hWnd%, wLeft%, wTop%, wWidth%, wHeight%)
+Declare Sub WAdjWndPos Lib "TESTCtrl.dll" Alias "WAdjWndPos" (hWnd%, deltaLeft%, deltaTop%)
+Declare Sub WAdjWndSiz Lib "TESTCtrl.dll" Alias "WAdjWndSiz" (hWnd%, deltaWidth%, deltaHeight%)
+Declare Sub WAdjWndPosSiz Lib "TESTCtrl.dll" Alias "WAdjWndPosSiz" (hWnd%, deltaLeft%, deltaTop%, deltaWidth%, deltaHeight%)
+Declare Sub WGetWndPos Lib "TESTCtrl.dll" Alias "WGetWndPos" (hWnd%, lpWndPos As WNDPOS, fRelative%)
+Declare Sub WGetWndSiz Lib "TESTCtrl.dll" Alias "WGetWndSiz" (hWnd%, lpWndSiz As WNDSIZ)
+Declare Sub WGetWndPosSiz Lib "TESTCtrl.dll" Alias "WGetWndPosSiz" (hWnd%, lpWndPosSiz As WNDPOSSIZ, fRelative%)
+Declare Function WIsMaximized Lib "TESTCtrl.dll" Alias "WIsMaximized" (hWnd%) As Integer
+Declare Function WIsMinimized Lib "TESTCtrl.dll" Alias "WIsMinimized" (hWnd%) As Integer
+
+
+Const W_RELATIVE = TRUE
+Const W_ABSOLUTE = FALSE
+
+
+' *********************
+'$DEFINE W_WINDOW_INCLUDED
+'$ENDIF
+'$IFDEF W_MENU AND NOT W_MENU_INCLUDED
+' *********************
+
+
+'*** Menu routines & constants
+'
+Declare Sub WSysMenu Lib "TESTCtrl.dll" Alias "WSysMenu" (hWnd%)
+Declare Function WSysMenuExists Lib "TESTCtrl.dll" Alias "WSysMenuExists" (hWnd%) As Integer
+Declare Sub WMenu Lib "TESTCtrl.dll" Alias "WMenu" (lpszName$)
+Declare Sub WMenuEx CDECL Lib "TESTCtrl.dll" Alias "WMenuEx" (lpszName$, ...)
+Declare Function WMenuExists Lib "TESTCtrl.dll" Alias "WMenuExists" (lpszName$) As Integer
+Declare Function WMenuGrayed Lib "TESTCtrl.dll" Alias "WMenuGrayed" (lpszName$) As Integer
+Declare Function WMenuChecked Lib "TESTCtrl.dll" Alias "WMenuChecked" (lpszName$) As Integer
+Declare Function WMenuEnabled Lib "TESTCtrl.dll" Alias "WMenuEnabled" (lpszName$) As Integer
+Declare Function WMenuCount Lib "TESTCtrl.dll" Alias "WMenuCount" () As Integer
+Declare Sub WMenuText Lib "TESTCtrl.dll" Alias "WMenuText" (lpszName$, lpszBuffer$)
+Declare Function WMenuLen Lib "TESTCtrl.dll" Alias "WMenuLen" (lpszName$) As Integer
+Declare Sub WMenuFullText Lib "TESTCtrl.dll" Alias "WMenuFullText" (lpszName$, lpszBuffer$)
+Declare Function WMenuFullLen Lib "TESTCtrl.dll" Alias "WMenuFullLen" (lpszName$) As Integer
+Declare Sub WMenuEnd Lib "TESTCtrl.dll" Alias "WMenuEnd" ()
+Declare Function WMenuNumAltKeys Lib "TESTCtrl.dll" Alias "WMenuNumAltKeys" () As Integer
+Declare Sub WMenuGetAltKeys Lib "TESTCtrl.dll" Alias "WMenuGetAltKeys" (lpszBuff$)
+Declare Function WMenuNumDupAltKeys Lib "TESTCtrl.dll" Alias "WMenuNumDupAltKeys" () As Integer
+Declare Sub WMenuGetDupAltKeys Lib "TESTCtrl.dll" Alias "WMenuGetDupAltKeys" (lpszBuff$)
+
+' Layered routines to simulate string functions for the coresponding
+' TESTCtrl API
+'----------------------------------------------------------------------------
+Declare Function MenuText (lpszName$) As String
+Declare Function MenuFullText (lpszName$) As String
+Declare Function MenuGetAltKeys () As String
+Declare Function MenuGetDupAltKeys () As String
+
+' Unlike the rest of the menu routines, WMenuSeparator() does not ignore
+' menu separators when specifing indexes. The first menu item is item #1
+' the second #2, and so on including all separators.
+'------------------------------------------------------------------------
+Declare Function WMenuSeparator Lib "TESTCtrl.dll" Alias "WMenuSeparator" (sIndex%) As Integer
+
+' Obsolete Menu API
+'------------------
+Declare Sub WMenuX Lib "TESTCtrl.dll" Alias "WMenuX" (iIndex%)
+Declare Function WMenuGrayedX Lib "TESTCtrl.dll" Alias "WMenuGrayedX" (iIndex%) As Integer
+Declare Function WMenuCheckedX Lib "TESTCtrl.dll" Alias "WMenuCheckedX" (iIndex%) As Integer
+Declare Function WMenuEnabledX Lib "TESTCtrl.dll" Alias "WMenuEnabledX" (iIndex%) As Integer
+
+
+'----------------------------------------------------------------------------
+' MenuText: Layered routine for WMenuText()
+'----------------------------------------------------------------------------
+Function MenuText(lpszName$) Static As String
+Dim lpszBuffer As String
+Dim menuLength As Integer
+ MenuText = ""
+ menuLength = WMenuLen(lpszName$)
+ If menuLength >= 0 Then
+ lpszBuffer = String$(menuLength+1, " ")
+ WMenuText lpszName$, lpszBuffer
+ MenuText = lpszBuffer
+ End if
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' MenuFullText: Layered routine for WMenuFullText()
+'----------------------------------------------------------------------------
+Function MenuFullText(lpszName$) Static As String
+Dim lpszBuffer As String
+Dim menuLength As Integer
+ MenuFullText = ""
+ menuLength = WMenuFullLen(lpszName$)
+ If menuLength >= 0 Then
+ lpszBuffer = String$(menuLength+1, " ")
+ WMenuFullText lpszName$, lpszBuffer
+ MenuFullText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' MenuGetAltKeys: Layered routine for WMenuGetAltKeys()
+'----------------------------------------------------------------------------
+Function MenuGetAltKeys() Static As String
+Dim lpszBuffer As String
+ lpszBuffer = String$(WMenuNumAltKeys()+1, " ")
+ WMenuGetAltKeys lpszBuffer
+ MenuGetAltKeys = lpszBuffer
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' MenuGetDupAltKeys: Layered routine for WMenuGetDupAltKeys()
+'----------------------------------------------------------------------------
+Function MenuGetDupAltKeys() Static As String
+Dim lpszBuffer As String
+ lpszBuffer = String$(WMenuNumDupAltKeys()+1, " ")
+ WMenuGetDupAltKeys lpszBuffer
+ MenuGetDupAltKeys = lpszBuffer
+ lpszBuffer = ""
+End Function
+
+' *********************
+'$DEFINE W_MENU_INCLUDED
+'$ENDIF
+'$IFDEF W_A_CONTROL AND NOT W_A_CONTROL_INCLUDED
+' *********************
+
+
+'*** Global routine & constants used by all controls
+'
+Declare Sub WStaticSetClass Lib "TESTCtrl.dll" Alias "WStaticSetClass" (lpszClassName$)
+Declare Sub WResetClasses Lib "TESTCtrl.dll" Alias "WResetClasses" ()
+
+
+' *********************
+'$DEFINE W_A_CONTROL_INCLUDED
+'$ENDIF
+'$IFDEF W_BUTTON AND NOT W_BUTTON_INCLUDED
+' *********************
+
+
+'*** Button routines
+'
+Declare Sub WButtonSetClass Lib "TESTCtrl.dll" Alias "WButtonSetClass" (lpszClassName$)
+Declare Function WButtonExists Lib "TESTCtrl.dll" Alias "WButtonExists" (lpszName$) As Integer
+Declare Function WButtonEnabled Lib "TESTCtrl.dll" Alias "WButtonEnabled" (lpszName$) As Integer
+Declare Function WButtonFocus Lib "TESTCtrl.dll" Alias "WButtonFocus" (lpszName$) As Integer
+Declare Sub WButtonClick Lib "TESTCtrl.dll" Alias "WButtonClick" (lpszName$)
+Declare Sub WButtonHide Lib "TESTCtrl.dll" Alias "WButtonHide" (lpszName$)
+Declare Sub WButtonShow Lib "TESTCtrl.dll" Alias "WButtonShow" (lpszName$)
+Declare Sub WButtonEnable Lib "TESTCtrl.dll" Alias "WButtonEnable" (lpszName$)
+Declare Sub WButtonDisable Lib "TESTCtrl.dll" Alias "WButtonDisable" (lpszName$)
+Declare Function WButtonDefault Lib "TESTCtrl.dll" Alias "WButtonDefault" (lpszName$) As Integer
+Declare Function WButtonDefaults Lib "TESTCtrl.dll" Alias "WButtonDefaults" () As Integer
+Declare Sub WButtonSetFocus Lib "TESTCtrl.dll" Alias "WButtonSetFocus" (lpszName$)
+
+' *********************
+'$DEFINE W_BUTTON_INCLUDED
+'$ENDIF
+'$IFDEF W_CHECK AND NOT W_CHECK_INCLUDED
+' *********************
+
+
+' CheckBox routines
+'
+Declare Sub WCheckSetClass Lib "TESTCtrl.dll" Alias "WCheckSetClass" (lpszClassName$)
+Declare Function WCheckExists Lib "TESTCtrl.dll" Alias "WCheckExists" (lpszName$) As Integer
+Declare Function WCheckEnabled Lib "TESTCtrl.dll" Alias "WCheckEnabled" (lpszName$) As Integer
+Declare Function WCheckFocus Lib "TESTCtrl.dll" Alias "WCheckFocus" (lpszName$) As Integer
+Declare Function WCheckState Lib "TESTCtrl.dll" Alias "WCheckState" (lpszName$) As Integer
+Declare Sub WCheckClick Lib "TESTCtrl.dll" Alias "WCheckClick" (lpszName$)
+Declare Sub WCheckHide Lib "TESTCtrl.dll" Alias "WCheckHide" (lpszName$)
+Declare Sub WCheckShow Lib "TESTCtrl.dll" Alias "WCheckShow" (lpszName$)
+Declare Sub WCheckEnable Lib "TESTCtrl.dll" Alias "WCheckEnable" (lpszName$)
+Declare Sub WCheckDisable Lib "TESTCtrl.dll" Alias "WCheckDisable" (lpszName$)
+Declare Sub WCheckCheck Lib "TESTCtrl.dll" Alias "WCheckCheck" (lpszName$)
+Declare Sub WCheckUnCheck Lib "TESTCtrl.dll" Alias "WCheckUnCheck" (lpszName$)
+Declare Sub WCheckSetFocus Lib "TESTCtrl.dll" Alias "WCheckSetFocus" (lpszName$)
+
+Const UNCHECKED = 0
+Const CHECKED = 1
+Const GRAYED = 2
+
+
+' *********************
+'$DEFINE W_CHECK_INCLUDED
+'$ENDIF
+'$IFDEF W_OPTION AND NOT W_OPTION_INCLUDED
+' *********************
+
+
+'*** Option Button routines
+'
+Declare Sub WOptionSetClass Lib "TESTCtrl.dll" Alias "WOptionSetClass" (lpszClassName$)
+Declare Function WOptionExists Lib "TESTCtrl.dll" Alias "WOptionExists" (lpszName$) As Integer
+Declare Function WOptionEnabled Lib "TESTCtrl.dll" Alias "WOptionEnabled" (lpszName$) As Integer
+Declare Function WOptionFocus Lib "TESTCtrl.dll" Alias "WOptionFocus" (lpszName$) As Integer
+Declare Function WOptionState Lib "TESTCtrl.dll" Alias "WOptionState" (lpszName$) As Integer
+Declare Sub WOptionClick Lib "TESTCtrl.dll" Alias "WOptionClick" (lpszName$)
+Declare Sub WOptionHide Lib "TESTCtrl.dll" Alias "WOptionHide" (lpszName$)
+Declare Sub WOptionShow Lib "TESTCtrl.dll" Alias "WOptionShow" (lpszName$)
+Declare Sub WOptionEnable Lib "TESTCtrl.dll" Alias "WOptionEnable" (lpszName$)
+Declare Sub WOptionDisable Lib "TESTCtrl.dll" Alias "WOptionDisable" (lpszName$)
+Declare Sub WOptionSelect Lib "TESTCtrl.dll" Alias "WOptionSelect" (lpszName$)
+Declare Sub WOptionSetFocus Lib "TESTCtrl.dll" Alias "WOptionSetFocus" (lpszName$)
+
+' *********************
+'$DEFINE W_OPTION_INCLUDED
+'$ENDIF
+'$IFDEF W_LIST AND NOT W_LIST_INCLUDED
+' *********************
+
+
+'*** Listbox routines
+'
+Declare Sub WListSetClass Lib "TESTCtrl.dll" Alias "WListSetClass" (lpszClass$)
+Declare Function WListExists Lib "TESTCtrl.dll" Alias "WListExists" (lpszName$) As Integer
+Declare Function WListCount Lib "TESTCtrl.dll" Alias "WListCount" (lpszName$) As Integer
+Declare Sub WListText Lib "TESTCtrl.dll" Alias "WListText" (lpszName$, lpszBuffer$)
+Declare Function WListLen Lib "TESTCtrl.dll" Alias "WListLen" (lpszName$) As Integer
+Declare Function WListIndex Lib "TESTCtrl.dll" Alias "WListIndex" (lpszName$) As Integer
+Declare Function WListTopIndex Lib "TESTCtrl.dll" Alias "WListTopIndex" (lpszName$) As Integer
+Declare Sub WListItemText Lib "TESTCtrl.dll" Alias "WListItemText" (lpszName$, iItem%, lpszBuffer$)
+Declare Function WListItemLen Lib "TESTCtrl.dll" Alias "WListItemLen" (lpszName$, iItem%) As Integer
+Declare Function WListItemExists Lib "TESTCtrl.dll" Alias "WListItemExists" (lpszName$, lpszItem$) As Integer
+Declare Sub WListItemClk Lib "TESTCtrl.dll" Alias "WListItemClk" (lpszName$, iItem%)
+Declare Sub WListItemCtrlClk Lib "TESTCtrl.dll" Alias "WListItemCtrlClk" (lpszName$, iItem%)
+Declare Sub WListItemShftClk Lib "TESTCtrl.dll" Alias "WListItemShftClk" (lpszName$, iItem%)
+Declare Sub WListItemDblClk Lib "TESTCtrl.dll" Alias "WListItemDblClk" (lpszName$, iItem%)
+Declare Sub WListItemClkT Lib "TESTCtrl.dll" Alias "WListItemClkT" (lpszName$, lpszItem$)
+Declare Sub WListItemCtrlClkT Lib "TESTCtrl.dll" Alias "WListItemCtrlClkT" (lpszName$, lpszItem$)
+Declare Sub WListItemShftClkT Lib "TESTCtrl.dll" Alias "WListItemShftClkT" (lpszName$, lpszItem$)
+Declare Sub WListItemDblClkT Lib "TESTCtrl.dll" Alias "WListItemDblClkT" (lpszName$, lpszItem$)
+Declare Function WListSelCount Lib "TESTCtrl.dll" Alias "WListSelCount" (lpszName$) As Integer
+Declare Sub WListSelItems Lib "TESTCtrl.dll" Alias "WListSelItems" (lpszName$, lpIntArray As Pointer To Integer)
+Declare Sub WListClear Lib "TESTCtrl.dll" Alias "WListClear" (lpszName$)
+Declare Sub WListAddItem Lib "TESTCtrl.dll" Alias "WListAddItem" (lpszName$, lpszItem$)
+Declare Sub WListDelItem Lib "TESTCtrl.dll" Alias "WListDelItem" (lpszName$, iItem%)
+Declare Sub WListDelItemT Lib "TESTCtrl.dll" Alias "WListDelItemT" (lpszName$, lpszItem$)
+Declare Function WListEnabled Lib "TESTCtrl.dll" Alias "WListEnabled" (lpszName$) As Integer
+Declare Sub WListSetFocus Lib "TESTCtrl.dll" Alias "WListSetFocus" (lpszName$)
+
+' Layered routines to simulate string functions for the coresponding
+' TESTCtrl API
+'----------------------------------------------------------------------------
+Declare Function ListText (lpszName$) As String
+Declare Function ListItemText (lpszName$, iItem%) As String
+
+'----------------------------------------------------------------------------
+' ListText: Layered routine for WListText()
+'----------------------------------------------------------------------------
+Function ListText(lpszName$) Static As String
+Dim lpszBuffer As String
+Dim itemLength As Integer
+ ListText = ""
+ itemLength = WListLen(lpszName)
+ If itemLength >= 0 Then
+ lpszBuffer = String$(itemLength+1, " ")
+ WListText lpszName, lpszBuffer
+ ListText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' ListItemText: Layered routine for WListItemText()
+'----------------------------------------------------------------------------
+Function ListItemText(lpszName$, sItem%) Static As String
+Dim lpszBuffer As String
+Dim itemLength As Integer
+ ListItemText = ""
+ itemLength = WListItemLen(lpszName, sItem)
+ If itemLength >= 0 Then
+ lpszBuffer = String$(itemLength+1, " ")
+ WListItemText lpszName, sItem, lpszBuffer
+ ListItemText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+
+' *********************
+'$DEFINE W_LIST_INCLUDED
+'$ENDIF
+'$IFDEF W_COMBO AND NOT W_COMBO_INCLUDED
+' *********************
+
+
+'*** Combobox routines
+'
+Declare Sub WComboSetClass Lib "TESTCtrl.dll" Alias "WComboSetClass" (lpszClass$)
+Declare Sub WComboSetLBClass Lib "TESTCtrl.dll" Alias "WComboSetLBClass" (lpszClass$)
+Declare Function WComboExists Lib "TESTCtrl.dll" Alias "WComboExists" (lpszName$) As Integer
+Declare Function WComboCount Lib "TESTCtrl.dll" Alias "WComboCount" (lpszName$) As Integer
+Declare Sub WComboSetText Lib "TESTCtrl.dll" Alias "WComboSetText" (lpszName$, lpszText$)
+Declare Sub WComboText Lib "TESTCtrl.dll" Alias "WComboText" (lpszName$, lpszBuffer$)
+Declare Function WComboLen Lib "TESTCtrl.dll" Alias "WComboLen" (lpszName$) As Integer
+Declare Sub WComboSelText Lib "TESTCtrl.dll" Alias "WComboSelText" (lpszName$, lpszBuffer$)
+Declare Function WComboSelLen Lib "TESTCtrl.dll" Alias "WComboSelLen" (lpszName$) As Integer
+Declare Function WComboIndex Lib "TESTCtrl.dll" Alias "WComboIndex" (lpszName$) As Integer
+Declare Sub WComboItemText Lib "TESTCtrl.dll" Alias "WComboItemText" (lpszName$, iItem%, lpszBuffer$)
+Declare Function WComboItemLen Lib "TESTCtrl.dll" Alias "WComboItemLen" (lpszName$, iItem%) As Integer
+Declare Function WComboItemExists Lib "TESTCtrl.dll" Alias "WComboItemExists" (lpszName$, lpszItem$) As Integer
+Declare Sub WComboItemClk Lib "TESTCtrl.dll" Alias "WComboItemClk" (lpszName$, iItem%)
+Declare Sub WComboItemDblClk Lib "TESTCtrl.dll" Alias "WComboItemDblClk" (lpszName$, iItem%)
+Declare Sub WComboItemClkT Lib "TESTCtrl.dll" Alias "WComboItemClkT" (lpszName$, lpszItem$)
+Declare Sub WComboItemDblClkT Lib "TESTCtrl.dll" Alias "WComboItemDblClkT" (lpszName$, lpszItem$)
+Declare Sub WComboClear Lib "TESTCtrl.dll" Alias "WComboClear" (lpszName$)
+Declare Sub WComboAddItem Lib "TESTCtrl.dll" Alias "WComboAddItem" (lpszName$, lpszItem$)
+Declare Sub WComboDelItem Lib "TESTCtrl.dll" Alias "WComboDelItem" (lpszName$, iItem%)
+Declare Sub WComboDelItemT Lib "TESTCtrl.dll" Alias "WComboDelItemT" (lpszName$, lpszItem$)
+Declare Function WComboEnabled Lib "TESTCtrl.dll" Alias "WComboEnabled" (lpszName$) As Integer
+Declare Sub WComboSetFocus Lib "TESTCtrl.dll" Alias "WComboSetFocus" (lpszName$)
+
+' Layered routines to simulate string functions for the coresponding
+' TESTCtrl API
+'----------------------------------------------------------------------------
+Declare Function ComboText (lpszName$) As String
+Declare Function ComboSelText (lpszName$) As String
+Declare Function ComboItemText (lpszName$, iItem%) As String
+
+'----------------------------------------------------------------------------
+' ComboText: Layered routine for WComboText()
+'----------------------------------------------------------------------------
+Function ComboText(lpszName$) Static As String
+Dim lpszBuffer As String
+Dim itemLength As Integer
+ ComboText = ""
+ itemLength = WComboLen(lpszName$)
+ If itemLength >= 0 Then
+ lpszBuffer = String$(itemLength+1, " ")
+ WComboText lpszName, lpszBuffer
+ ComboText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' ComboSelText: Layered routine for WComboSelText()
+'----------------------------------------------------------------------------
+Function ComboSelText(lpszName$) Static As String
+Dim lpszBuffer As String
+Dim itemLength As Integer
+ ComboSelText = ""
+ itemLength = WComboSelLen(lpszName$)
+ If itemLength >= 0 Then
+ lpszBuffer = String$(itemLength+1, " ")
+ WComboSelText lpszName, lpszBuffer
+ ComboSelText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' ComboItemText: Layered routine for WComboItemText()
+'----------------------------------------------------------------------------
+Function ComboItemText(lpszName$, sItem%) Static As String
+Dim lpszBuffer As String
+Dim itemLength As Integer
+ ComboItemText = ""
+ itemLength = WComboItemLen(lpszName, sItem)
+ If itemLength >= 0 Then
+ lpszBuffer = String$(itemLength+1, " ")
+ WComboItemText lpszName, sItem, lpszBuffer
+ ComboItemText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+
+' *********************
+'$DEFINE W_COMBO_INCLUDED
+'$ENDIF
+'$IFDEF W_EDIT AND NOT W_EDIT_INCLUDED
+' *********************
+
+
+'*** Edit box routines
+'
+Declare Sub WEditSetClass Lib "TESTCtrl.dll" Alias "WEditSetClass" (lpszClass$)
+Declare Function WEditExists Lib "TESTCtrl.dll" Alias "WEditExists" (lpszName$) As Integer
+Declare Function WEditLen Lib "TESTCtrl.dll" Alias "WEditLen" (lpszName$) As Long
+Declare Sub WEditText Lib "TESTCtrl.dll" Alias "WEditText" (lpszName$, lpszBuffer$)
+Declare Sub WEditSetText Lib "TESTCtrl.dll" Alias "WEditSetText" (lpszName$, lpszBuffer$)
+Declare Sub WEditSelText Lib "TESTCtrl.dll" Alias "WEditSelText" (lpszName$, lpszBuffer$)
+Declare Function WEditSelLen Lib "TESTCtrl.dll" Alias "WEditSelLen" (lpszName$) As Long
+Declare Sub WEditLineText Lib "TESTCtrl.dll" Alias "WEditLineText" (lpszName$, lIndex&, lpszBuffer$)
+Declare Function WEditLineLen Lib "TESTCtrl.dll" Alias "WEditLineLen" (lpszName$, lIndex&) As Long
+Declare Function WEditPos Lib "TESTCtrl.dll" Alias "WEditPos" (lpszName$) As Long
+Declare Function WEditLine Lib "TESTCtrl.dll" Alias "WEditLine" (lpszName$) As Long
+Declare Function WEditChar Lib "TESTCtrl.dll" Alias "WEditChar" (lpszName$) As Long
+Declare Function WEditFirst Lib "TESTCtrl.dll" Alias "WEditFirst" (lpszName$) As Long
+Declare Function WEditLines Lib "TESTCtrl.dll" Alias "WEditLines" (lpszName$) As Long
+Declare Sub WEditClick Lib "TESTCtrl.dll" Alias "WEditClick" (lpszName$)
+Declare Function WEditEnabled Lib "TESTCtrl.dll" Alias "WEditEnabled" (lpszName$) As Integer
+Declare Sub WEditSetFocus Lib "TESTCtrl.dll" Alias "WEditSetFocus" (lpszName$)
+
+' Layered routines to simulate string functions for the coresponding
+' TESTCtrl API
+'----------------------------------------------------------------------------
+Declare Function EditText (lpszName$) As String
+Declare Function EditSelText (lpszName$) As String
+Declare Function EditLineText (lpszName$, lIndex&) As String
+
+'----------------------------------------------------------------------------
+' EditText: Layered routine for WEditText()
+'----------------------------------------------------------------------------
+Function EditText(lpszName$) Static As String
+Dim textLength As Long
+Dim lpszBuffer As String
+ EditText = ""
+ textLength = WEditLen(lpszName)
+ If textLength >= 0 Then
+ lpszBuffer = String$(textLength+1, " ")
+ WEditText lpszName, lpszBuffer
+ EditText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' EditSelText: Layered routine for WEditSelText()
+'----------------------------------------------------------------------------
+Function EditSelText(lpszName$) Static As String
+Dim selLength As Long
+Dim lpszBuffer As String
+ EditSelText = ""
+ selLength = WEditSelLen(lpszName)
+ If selLength >= 0 Then
+ lpszBuffer = String$(selLength+1, " ")
+ WEditSelText lpszName, lpszBuffer
+ EditSelText = lpszBuffer
+ End If
+ lpszBuffer = ""
+End Function
+
+'----------------------------------------------------------------------------
+' EditLineText: Layered routine for WEditLineText()
+'----------------------------------------------------------------------------
+Function EditLineText(lpszName$, lIndex&) Static As String
+Dim lineLength As Long
+Dim lpszBuffer As String
+ EditLineText = ""
+ lineLength = WEditLineLen(lpszName, lIndex)
+ If lineLength >= 0 Then
+ lpszBuffer = String$(lineLength+1, " ")
+ WEditLineText lpszName, lIndex&, lpszBuffer
+ EditLineText = lpszBuffer
+ End if
+ lpszBuffer = ""
+End Function
+
+
+' *********************
+'$DEFINE W_EDIT_INCLUDED
+'$ENDIF
+'$IFDEF W_ERROR AND NOT W_ERROR_INCLUDED
+' *********************
+
+
+Declare Function WError Lib "TESTCtrl.dll" Alias "WError" () As Integer
+Declare Sub WErrorSet Lib "TESTCtrl.dll" Alias "WErrorSet" (iErrorNum%)
+Declare Sub WErrorText Lib "TESTCtrl.dll" Alias "WErrorText" (lpszBuffer$)
+Declare Function WErrorLen Lib "TESTCtrl.dll" Alias "WErrorLen" () As Integer
+
+' Layered routines to simulate string functions for the coresponding
+' TESTCtrl API
+'----------------------------------------------------------------------------
+Declare Function ErrorText () As String
+
+Const NO_ERROR = 0
+Const ERR_MENU_NOT_FOUND = 1
+Const ERR_MENU_ITEM_NOT_FOUND = 2
+Const ERR_NOT_A_LISTBOX = 3
+Const ERR_LISTBOX_NOT_FOUND = 4
+Const ERR_ITEM_NOT_IN_LISTBOX = 5
+Const ERR_INVALID_LISTBOX_INDEX = 6
+Const ERR_LISTBOX_HAS_NO_STRINGS = 7
+Const ERR_LISTBOX_IS_NOT_MULTISELECT = 8
+Const ERR_NOT_A_COMBOBOX = 9
+Const ERR_COMBOBOX_NOT_FOUND = 10
+Const ERR_ITEM_NOT_IN_COMBOBOX = 11
+Const ERR_INVALID_COMBOBOX_INDEX = 12
+Const ERR_COMBOBOX_HAS_NO_EDITBOX = 13
+Const ERR_COMBOBOX_HAS_NO_STRINGS = 14
+Const ERR_NOT_AN_EDITBOX = 15
+Const ERR_EDITBOX_NOT_FOUND = 16
+Const ERR_BUTTON_NOT_FOUND = 17
+Const ERR_OPTION_BUTTON_NOT_FOUND = 18
+Const ERR_CHECKBOX_NOT_FOUND = 19
+Const ERR_INVALID_WINDOW_HANDLE = 20
+Const ERR_NO_SYSTEM_MENU = 21
+Const ERR_INVALID_MENU_INDEX = 22
+Const MAX_ERROR = 23
+
+'----------------------------------------------------------------------------
+' ErrorText: Layered routine for WErrorText() of TESTCtrl.DLL.
+' Simulates a DLL String Function.
+'----------------------------------------------------------------------------
+Function ErrorText() Static As String
+Dim lpszBuffer As String
+Dim errorLength As Integer
+ errorLength= WErrorLen()
+ lpszBuffer = String$(errorLength+1, " ")
+ WErrorText lpszBuffer
+ ErrorText = lpszBuffer
+ lpszBuffer = ""
+End Function
+
+
+' *********************
+'$DEFINE W_ERROR_INCLUDED
+'$ENDIF
+'$IFDEF W_ERROR_TRAP AND NOT W_ERROR_TRAP_INCLUDED
+' *********************
+
+
+'----------------------------------------------------------------------------
+' WErrorTrap: This trap is in TESTCTRL.DLL.
+'
+' This trap is here in MSTEST.INC just so it is easy to quickly add a
+' trap that will display any TESTCTRL error messages. It is only included if
+' W_ERROR_TRAP is defined, so if WErrorTrap() is to be used for more than
+' just to display the TESTCTRL error messages, W_ERROR_TRAP should no be
+' defined. and a custom WErrorTrap() should be added to your script.
+'----------------------------------------------------------------------------
+Trap WErrorTrap From "TESTCTRL.DLL"
+ Print WError;" ";ErrorText
+End Trap
+
+
+' *********************
+'$DEFINE W_ERROR_TRAP_INCLUDED
+'$ENDIF
+' *********************