#define		Cc_StateIdle			1001
#define		Cc_StateRecord			1002
#define		Cc_StateRecordPause		1003
#define		Cc_StateViewEventLog	1004
#define		Cc_StatePlay			1005
#define		Cc_StatePlayPause		1006

#define		Cc_Error		2001
#define		Cc_Warning		2002
#define		Cc_TestPassed	2003

#define		WINDOWTITLE_LOC		"VFP Active Accessibility Test Harness"
#define		TESTHARNESSPATH_LOC	HOME() + 'TOOLS\TEST\'

#define		MSG_PROGERROR_LOC	  "Application error. "
#define		MSG_PLAYBACKERROR_LOC "Error running the script. "
#define     MSG_RECORDING1_LOC   "Recording the script..."
#define     MSG_RECORDING2_LOC   "Paused the recording..."
#define     MSG_PLAYBACK1_LOC    "Preparing to play the script..."
#define     MSG_PLAYBACK2_LOC    "Playback has been paused."
#define     MSG_PLAYBACK10_LOC   "Playback stopped."
#define     MSG_SCRIPTEXIST_LOC	 "The test script '" + .cTestName + "' already exists. Overwrite?"
#define     MSG_TESTRUN_LOC      "The Test Run " + STR(.nTestRun) + " has been completed"
#define     MSG_TESTRUNNO_LOC    "  Run number:"
#define     MSG_NOFOCUS_LOC      "The object " + ALLTRIM(cFormName) + " does not have the focus. "
#define     MSG_NOFOCUS2_LOC     "The object " + cEpath + " does not have the focus."
#define     MSG_SCRIPTLINE_LOC   "Script line "
#define     MSG_SUPSEND_LOC      "Suspending..."
#define     MSG_PARSE1_LOC       "Parsing the script..."
#define     MSG_PARSE2_LOC       "Parsing the script - item "
#define     MSG_SCRIPTSAVING_LOC "Saving the script..."
#define     MSG_NOOBJECT_LOC     "The object " + cEpath + " doesn't exists."
#define     MSG_NONVFP_LOC		"The application selected is not VFP."
#define     MSG_RUNTIME_LOC		"Test Harness is not supported in VFP runtime libraries."
#define     MSG_CHKLOG_LOC		'Please check the test log for details'
#define     MSG_TESTNAME_LOC	"Enter Test Name "
#define     MSG_ERROR1_LOC	    "A VFP error has occured."
#define     MSG_ERROR_OPN1_LOC	"Could not open aatestlog.dbf"
#define     MSG_ERROR_OPN2_LOC	"Could not open aascripts.dbf"
#define     MSG_NOSCRIPT_LOC    "No script has been selected from the list to delete."
#define     MSG_NOSCRIPT2_LOC   "No script has been selected from the list"
#define     MSG_SELSCRIPT_LOC   "You must select a script to edit."
#define     MSG_NOTESTLOG_LOC   "No test log has been selected from the list to delete."
#define     MSG_DELSCRIPT1_LOC	"Do you want to delete the selected scripts?"
#define     MSG_DELSCRIPT2_LOC	"Do you want to permanently remove (pack) the deleted scripts?"
#define     MSG_DELLOG1_LOC		"Do you want to delete the selected test logs?"
#define     MSG_DELLOG2_LOC		"Do you want to permanently remove (pack) the deleted testlogs?"
#define		MSG_TESTPASSED_LOC	"Test Passed."
#define		MSG_RUNS_OVER_LOC	"Runs Completed"
#define     MSG_WRONGSTARTWINDOW_LOC  "The startup form/window '" + ALLTRIM(cFormName) + "' is not available"

#define		GW_HWNDFIRST        0
#define		GW_HWNDLAST         1
#define		GW_HWNDNEXT         2
#define		GW_HWNDPREV         3

#define     OBJID_WINDOW        	0x00000000
#define     OBJID_SYSMENU       	0xFFFFFFFF
#define     OBJID_TITLEBAR      	0xFFFFFFFE
#define     OBJID_MENU          	0xFFFFFFFD
#define     OBJID_CLIENT        	0xFFFFFFFC
#define     OBJID_VSCROLL       	0xFFFFFFFB
#define     OBJID_HSCROLL       	0xFFFFFFFA
#define     OBJID_SIZEGRIP      	0xFFFFFFF9
#define     OBJID_CARET         	0xFFFFFFF8
#define     OBJID_CURSOR        	0xFFFFFFF7
#define     OBJID_ALERT         	0xFFFFFFF6
#define     OBJID_SOUND         	0xFFFFFFF5
#define     OBJID_QUERYCLASSNAMEIDX 0xFFFFFFF4
#define     OBJID_NATIVEOM      	0xFFFFFFF0

#define		IAccGuid			"618736E0-3C3D-11CF-810C-00AA00389B71"

#define     CHILDID_SELF        0

#if .f.
#define		SELFLAG_NONE            0
#define		SELFLAG_TAKEFOCUS       1
#define		SELFLAG_TAKESELECTION   2
#define		SELFLAG_EXTENDSELECTION 4
#define		SELFLAG_ADDSELECTION    8
#define		SELFLAG_REMOVESELECTION 16
#endif

#define	NAVDIR_MIN	0
#define	NAVDIR_UP	0x1
#define	NAVDIR_DOWN	0x2
#define	NAVDIR_LEFT	0x3
#define	NAVDIR_RIGHT	0x4
#define	NAVDIR_NEXT		0x5
#define	NAVDIR_PREVIOUS	0x6
#define	NAVDIR_FIRSTCHILD	0x7
#define	NAVDIR_LASTCHILD	0x8
#define	NAVDIR_MAX	0x9

*// Output from DISPID_ACC_ROLE
#define ROLE_SYSTEM_TITLEBAR            0x00000001
#define ROLE_SYSTEM_MENUBAR             0x00000002
#define ROLE_SYSTEM_SCROLLBAR           0x00000003
#define ROLE_SYSTEM_GRIP                0x00000004
#define ROLE_SYSTEM_SOUND               0x00000005
#define ROLE_SYSTEM_CURSOR              0x00000006
#define ROLE_SYSTEM_CARET               0x00000007
#define ROLE_SYSTEM_ALERT               0x00000008
#define ROLE_SYSTEM_WINDOW              0x00000009
#define ROLE_SYSTEM_CLIENT              0x0000000A
#define ROLE_SYSTEM_MENUPOPUP           0x0000000B
#define ROLE_SYSTEM_MENUITEM            0x0000000C
#define ROLE_SYSTEM_TOOLTIP             0x0000000D
#define ROLE_SYSTEM_APPLICATION         0x0000000E
#define ROLE_SYSTEM_DOCUMENT            0x0000000F
#define ROLE_SYSTEM_PANE                0x00000010
#define ROLE_SYSTEM_CHART               0x00000011
#define ROLE_SYSTEM_DIALOG              0x00000012
#define ROLE_SYSTEM_BORDER              0x00000013
#define ROLE_SYSTEM_GROUPING            0x00000014
#define ROLE_SYSTEM_SEPARATOR           0x00000015
#define ROLE_SYSTEM_TOOLBAR             0x00000016
#define ROLE_SYSTEM_STATUSBAR           0x00000017
#define ROLE_SYSTEM_TABLE               0x00000018
#define ROLE_SYSTEM_COLUMNHEADER        0x00000019
#define ROLE_SYSTEM_ROWHEADER           0x0000001A
#define ROLE_SYSTEM_COLUMN              0x0000001B
#define ROLE_SYSTEM_ROW                 0x0000001C
#define ROLE_SYSTEM_CELL                0x0000001D
#define ROLE_SYSTEM_LINK                0x0000001E
#define ROLE_SYSTEM_HELPBALLOON         0x0000001F
#define ROLE_SYSTEM_CHARACTER           0x00000020
#define ROLE_SYSTEM_LIST                0x00000021
#define ROLE_SYSTEM_LISTITEM            0x00000022
#define ROLE_SYSTEM_OUTLINE             0x00000023
#define ROLE_SYSTEM_OUTLINEITEM         0x00000024
#define ROLE_SYSTEM_PAGETAB             0x00000025
#define ROLE_SYSTEM_PROPERTYPAGE        0x00000026
#define ROLE_SYSTEM_INDICATOR           0x00000027
#define ROLE_SYSTEM_GRAPHIC             0x00000028
#define ROLE_SYSTEM_STATICTEXT          0x00000029
#define ROLE_SYSTEM_TEXT                0x0000002A  
#define ROLE_SYSTEM_PUSHBUTTON          0x0000002B
#define ROLE_SYSTEM_CHECKBUTTON         0x0000002C
#define ROLE_SYSTEM_RADIOBUTTON         0x0000002D
#define ROLE_SYSTEM_COMBOBOX            0x0000002E
#define ROLE_SYSTEM_DROPLIST            0x0000002F
#define ROLE_SYSTEM_PROGRESSBAR         0x00000030
#define ROLE_SYSTEM_DIAL                0x00000031
#define ROLE_SYSTEM_HOTKEYFIELD         0x00000032
#define ROLE_SYSTEM_SLIDER              0x00000033
#define ROLE_SYSTEM_SPINBUTTON          0x00000034
#define ROLE_SYSTEM_DIAGRAM             0x00000035
#define ROLE_SYSTEM_ANIMATION           0x00000036
#define ROLE_SYSTEM_EQUATION            0x00000037
#define ROLE_SYSTEM_BUTTONDROPDOWN      0x00000038
#define ROLE_SYSTEM_BUTTONMENU          0x00000039
#define ROLE_SYSTEM_BUTTONDROPDOWNGRID  0x0000003A
#define ROLE_SYSTEM_WHITESPACE          0x0000003B
#define ROLE_SYSTEM_PAGETABLIST         0x0000003C
#define ROLE_SYSTEM_CLOCK               0x0000003D

#define SELFLAG_NONE                    0x00000000
#define SELFLAG_TAKEFOCUS               0x00000001
#define SELFLAG_TAKESELECTION           0x00000002
#define SELFLAG_EXTENDSELECTION         0x00000004
#define SELFLAG_ADDSELECTION            0x00000008
#define SELFLAG_REMOVESELECTION         0x00000010
#define SELFLAG_VALID                   0x0000001F

#define INPUT_MOUSE     0
#define INPUT_KEYBOARD  1
#define INPUT_HARDWARE  2


#define KEYEVENTF_EXTENDEDKEY 0x0001
#define KEYEVENTF_KEYUP       0x0002

*#if(_WIN32_WINNT >= 0x0500)
#define KEYEVENTF_UNICODE     0x0004
#define KEYEVENTF_SCANCODE    0x0008
*#endif /* _WIN32_WINNT >= 0x0500 */


#define VK_SHIFT          0x10
#define VK_CONTROL        0x11
#define VK_LSHIFT         0xA0
#define VK_RSHIFT         0xA1
#define VK_LCONTROL       0xA2
#define VK_RCONTROL       0xA3
#define VK_LMENU          0xA4
#define VK_RMENU          0xA5

#define MOUSEEVENTF_MOVE        0x0001 
#define MOUSEEVENTF_LEFTDOWN    0x0002 
#define MOUSEEVENTF_LEFTUP      0x0004 
#define MOUSEEVENTF_RIGHTDOWN   0x0008 
#define MOUSEEVENTF_RIGHTUP     0x0010 
#define MOUSEEVENTF_MIDDLEDOWN  0x0020 
#define MOUSEEVENTF_MIDDLEUP    0x0040 
#define MOUSEEVENTF_WHEEL       0x0800 
#define MOUSEEVENTF_ABSOLUTE    0x8000 

*-- The AA object state constants
#define		Cn_State_Unavailable	0
#define		Cn_State_Selected		1
#define		Cn_State_Focused		2
#define		Cn_State_Pressed		3
#define		Cn_State_Checked		4
#define		Cn_State_Mixed			5
#define		Cn_State_Readonly		6
#define		Cn_State_HotTracked		7
#define		Cn_State_Default		8
#define		Cn_State_Expanded		9
#define		Cn_State_Collapsed		10
#define		Cn_State_Busy			11
#define		Cn_State_Floating		12
#define		Cn_State_Marqueed		13
#define		Cn_State_Animated		14
#define		Cn_State_Invisible		15
#define		Cn_State_Offscreen		16
#define		Cn_State_Sizeable		17
#define		Cn_State_Moveable		18
#define		Cn_State_SelfVoicing	19
#define		Cn_State_Focusable		20
#define		Cn_State_Selectable		21
#define		Cn_State_Linked			22
#define		Cn_State_Traversed		23
#define		Cn_State_MultiSelectable	24
#define		Cn_State_ExtSelecteable	24
#define		Cn_State_Alert_Low		26
#define		Cn_State_Alert_Medium	27
#define		Cn_State_Alert_High		28
#define		Cn_State_Protected		29

#define		Cc_EOL					CHR(13)

#define		Cc_Directive			"*"