unit AUTOITX3;
{**************************************************************************}
{                                                                          }
{    This C DLL header file first (automatic) conversion generated by:     }
{    HeadConv 4.0 (c) 2000 by Bob Swart (aka Dr.Bob - www.drbob42.com)     }
{      Final Delphi-Jedi (Darth) command-line units edition                }
{                                                                          }
{    Generated Date:   8/6/2015                                            }
{    Generated Time: 4:23:52 PM                                            }
{                                                                          }
{**************************************************************************}

interface
uses
{$IFDEF WIN32}
  Windows;
{$ELSE}
  Wintypes, WinProcs;
{$ENDIF}


{=> c:\headconv\AUTOITX3.H <=}

{$IFNDEF __AUTOITX3_H}
{$DEFINE __AUTOITX3_H}

{//////////////////////////////////////////////////////////////////////////////// }
{/// }
{/// AutoItX v3 }
{/// }
{/// Copyright (C)1999-2008: }
{/// - Jonathan Bennett <jon at autoitscript dot com> }
{/// - See "AUTHORS.txt" for contributors. }
{/// }
{/// This file is part of AutoItX. Use of this file and the AutoItX DLL is subject }
{/// to the terms of the AutoItX license details of which can be found in the helpfile. }
{/// }
{/// When using the AutoItX3.dll as a standard DLL this file contains the definitions, }
{/// and function declarations required to use the DLL and AutoItX3.lib file. }
{/// }
{//////////////////////////////////////////////////////////////////////////////// }


{$IFDEF __cplusplus}
const
  AU3_API = extern 'C';
{$ELSE}
{$DEFINE AU3_API}
{$ENDIF}


{/// Definitions }
const
  AU3_INTDEFAULT = (-2147483647); {// 'Default' value for _some_ int parameters (largest negative number)}

{/// }
{/// NOTE: This DLL is now using Unicode strings. Only a few functions also have an }
{/// ANSI version. If you require ANSI strings then please use an older version of AutoItX }
{/// or ask about the subject on the forums at http://www.autoitscript.com/forum }
{/// }

{/// }
{/// nBufSize }
{/// When used for specifying the size of a resulting string buffer this is the number of CHARACTERS }
{/// in that buffer, including the null terminator. For example: }
{/// }
{/// WCHAR szBuffer[10]; }
{/// AU3_ClipGetW(szBuffer, 10); }
{/// }
{/// The resulting string will be truncated at 9 characters with the the terminating null in the 10th. }
{/// }


{//////////////////////////////////////////////////////////////////////////////// }
{/// Exported functions }
{//////////////////////////////////////////////////////////////////////////////// }
var
  AU3_Init: procedure; stdcall;

  AU3_error: function : integer;  stdcall;

  AU3_AutoItSetOption: function(szOption: PWideChar; nValue: integer): integer; stdcall;

  AU3_BlockInput: function(nFlag: integer): integer; stdcall;

  AU3_CDTray: function(szDrive, szAction: PWideChar): integer; stdcall;

  AU3_ClipGet: procedure(var szClip: PWideChar; nBufSize: Integer); stdcall;

  AU3_ClipPut: procedure(var szClip: PWideChar); stdcall;

  AU3_ControlClick: function(szTitle, szText, szControl, szButton: PWideChar;
                             nNumClicks, nX, nY: integer): integer; stdcall;

  AU3_ControlCommand: procedure(szTitle, szText, szControl, szCommand, szExtra: PWideChar;
                                var szResult: PWideChar; nBufSize: Integer); stdcall;

  AU3_ControlListView: procedure(szTitle, szText, szControl, szCommand, szExtra1, szExtra2: PWideChar;
                                 var szResult: PWideChar; nBufSize: Integer); stdcall;

  AU3_ControlDisable: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlEnable: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlFocus: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlGetFocus: procedure(szTitle, szText: PWideChar;
                                 var szControlWithFocus: PWideChar;
                                 nBufSize: Integer); stdcall;

  AU3_ControlGetHandle: procedure(szTitle, szText, szControl: PWideChar;
                                  var szRetText: PWideChar;
                                  nBufSize: Integer); stdcall;

  AU3_ControlGetPosX: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlGetPosY: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlGetPosHeight: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlGetPosWidth: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlGetText: procedure(szTitle, szText, szControl: PWideChar;
                                var szControlText: PWideChar;
                                nBufSize: Integer); stdcall;

  AU3_ControlHide: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlMove: function(szTitle, szText, szControl: PWideChar;
                            nX, nY, nWidth, nHeight: integer): integer; stdcall;

  AU3_ControlSend: function(szTitle, szText, szControl, szSendText: PWideChar;
                            nMode: integer): integer; stdcall;

  AU3_ControlSetText: function(szTitle, szText, szControl, szControlText: PWideChar): integer; stdcall;

  AU3_ControlShow: function(szTitle, szText, szControl: PWideChar): integer; stdcall;

  AU3_ControlTreeView: procedure(szTitle, szText, szControl, szCommand, szExtra1, szExtra2: PWideChar;
                                 var szResult: PWideChar; nBufSize: Integer); stdcall;

  AU3_DriveMapAdd: procedure(szDevice, szShare: PWideChar; nFlags: integer;
                             var szUser: PWideChar; var szPwd: PWideChar;
                             var szResult: PWideChar; nBufSize: Integer); stdcall;

  AU3_DriveMapDel: function(var szDevice: PWideChar): integer; stdcall;

  AU3_DriveMapGet: procedure(szDevice: PWideChar; var szMapping: PWideChar;
                             nBufSize: Integer); stdcall;

  AU3_IniDelete: function(szFilename, szSection, szKey: PWideChar): integer; stdcall;

  AU3_IniRead: procedure(szFilename, szSection, szKey, szDefault: PWideChar;
                         var szValue: PWideChar; nBufSize: Integer); stdcall;

  AU3_IniWrite: function(szFilename, szSection, szKey, szValue: PWideChar): integer; stdcall;

  AU3_IsAdmin: function : integer; stdcall;

  AU3_MouseClick: function(szButton: PWideChar;
                           nX, nY, nClicks, nSpeed: integer): integer; stdcall;

  AU3_MouseClickDrag: function(szButton: PWideChar;
                               nX1, nY1, nX2, nY2, nSpeed: integer): integer; stdcall;

  AU3_MouseDown: procedure(var szButton: PWideChar); stdcall;

  AU3_MouseGetCursor: function : integer; stdcall;

  AU3_MouseGetPosX: function : integer; stdcall;

  AU3_MouseGetPosY: function : integer; stdcall;

  AU3_MouseMove: function(nX, nY, nSpeed: integer): integer; stdcall;

  AU3_MouseUp: procedure(szButton: PWideChar); stdcall;

  AU3_MouseWheel: procedure(szDirection: PWideChar; nClicks: integer); stdcall;

  AU3_Opt: function(szOption: PWideChar; nValue: longint): integer; stdcall;

  AU3_PixelChecksum: function(nLeft, nTop, nRight, nBottom, nStep: integer): cardinal; stdcall;

  AU3_PixelGetColor: function(nX, nY: integer): integer; stdcall;

  AU3_PixelSearch: procedure(nLeft, nTop, nRight, nBottom,
                            nCol, nVar, nStep: integer;
                            var pPointResult: TPOINT); stdcall;

  AU3_ProcessClose: function(szProcess: PWideChar): integer; stdcall;

  AU3_ProcessExists: function(szProcess: PWideChar): integer; stdcall;

  AU3_ProcessSetPriority: function(szProcess: PWideChar;
                                   nPriority: integer): integer; stdcall;

  AU3_ProcessWait: function(szProcess: PWideChar;
                            nTimeout: integer): integer; stdcall;

  AU3_ProcessWaitClose: function(szProcess: PWideChar;
                                 nTimeout: integer): integer; stdcall;

  AU3_RegDeleteKey: function(var szKeyname: PWideChar): integer; stdcall;

  AU3_RegDeleteVal: function(szKeyname, szValuename: PWideChar): integer; stdcall;

  AU3_RegEnumKey: procedure(szKeyname: PWideChar; nInstance: integer;
                           var szResult: PWideChar; nBufSize: Integer); stdcall;

  AU3_RegEnumVal: procedure(szKeyname: PWideChar; nInstance: integer;
                           var szResult: PWideChar; nBufSize: Integer); stdcall;

  AU3_RegRead: procedure(szKeyname, szValuename: PWideChar;
                        var szRetText: PWideChar; nBufSize: Integer); stdcall;

  AU3_RegWrite: function(szKeyname, szValuename, szType, szValue: PWideChar): integer; stdcall;

  AU3_Run: function(szRun, szDir: PWideChar; nShowFlags: integer): integer; stdcall;

  AU3_RunAsSet: function(var szUser: PWideChar;
                         var szDomain: PWideChar;
                         var szPassword: PWideChar;
                         nOptions: Integer): integer; stdcall;

  AU3_RunWait: function(szRun, szDir: PWideChar;
                        nShowFlags: integer): integer; stdcall;

  AU3_Send: procedure(szSendText: PWideChar; nMode: integer); stdcall;

  AU3_SendA: procedure(szSendText: PWideChar; nMode: integer); stdcall;

  AU3_Shutdown: function(nFlags: integer): integer; stdcall;

  AU3_Sleep: function(nMilliseconds: integer): integer; stdcall;

  AU3_StatusbarGetText: procedure(szTitle, szText: PWideChar; nPart: integer;
                                 var szStatusText: PWideChar;
                                 nBufSize: Integer); stdcall;

  AU3_ToolTip: procedure(var szTip: PWideChar;
                        nX, nY: integer); stdcall;

  AU3_WinActivate: procedure(szTitle, szText: PWideChar); stdcall;

  AU3_WinActive: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinClose: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinExists: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetCaretPosX: function : integer; stdcall;

  AU3_WinGetCaretPosY: function : integer; stdcall;

  AU3_WinGetClassList: procedure(szTitle, szText: PWideChar;
                                 var szRetText: PWideChar;
                                 nBufSize: Integer); stdcall;

  AU3_WinGetClientSizeHeight: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetClientSizeWidth: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetHandle: procedure(szTitle, szText: PWideChar;
                              var szRetText: PWideChar;
                              nBufSize: Integer); stdcall;

  AU3_WinGetPosX: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetPosY: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetPosHeight: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetPosWidth: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetProcess: procedure(szTitle, szText: PWideChar;
                               var szRetText: PWideChar;
                               nBufSize: Integer); stdcall;

var
  AU3_WinGetState: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinGetText: procedure(szTitle, szText: PWideChar;
                            var szRetText: PWideChar;
                            nBufSize: Integer); stdcall;

  AU3_WinGetTitle: procedure(szTitle, szText: PWideChar;
                             var szRetText: PWideChar;
                             nBufSize: Integer); stdcall;

  AU3_WinKill: function(szTitle, szText: PWideChar): integer; stdcall;

  AU3_WinMenuSelectItem: function(var szTitle: PWideChar;
                                  var szText: PWideChar;
                                  var szItem1: PWideChar;
                                  var szItem2: PWideChar;
                                  var szItem3: PWideChar;
                                  var szItem4: PWideChar;
                                  var szItem5: PWideChar;
                                  var szItem6: PWideChar;
                                  var szItem7: PWideChar;
                                  var szItem8: PWideChar): integer; stdcall;

  AU3_WinMinimizeAll: procedure stdcall;

  AU3_WinMinimizeAllUndo: procedure stdcall;

  AU3_WinMove: function(szTitle, szText: PWideChar;
                        nX, nY, nWidth, nHeight: integer): integer; stdcall;

  AU3_WinSetOnTop: function(szTitle, szText: PWideChar;
                            nFlag: integer): integer; stdcall;

  AU3_WinSetState: function(szTitle, szText: PWideChar;
                            nFlags: integer): integer; stdcall;

  AU3_WinSetTitle: function(szTitle, szText, szNewTitle: PWideChar): integer; stdcall;

  AU3_WinSetTrans: function(var szTitle: PWideChar;
                            var szText: PWideChar;
                            nTrans: integer): integer; stdcall;

  AU3_WinWait: function(szTitle, szText: PWideChar;
                        nTimeout: integer): integer; stdcall;

  AU3_WinWaitA: function(szTitle, szText: PWideChar;
                         nTimeout: integer): integer; stdcall;

  AU3_WinWaitActive: function(szTitle, szText: PWideChar;
                              nTimeout: integer): integer; stdcall;

  AU3_WinWaitActiveA: function(szTitle, szText: PWideChar;
                               nTimeout: integer): integer; stdcall;

  AU3_WinWaitClose: function(szTitle, szText: PWideChar;
                             nTimeout: integer): integer; stdcall;

  AU3_WinWaitCloseA: function(szTitle, szText: PWideChar;
                              nTimeout: integer): integer; stdcall;

  AU3_WinWaitNotActive: function(szTitle, szText: PWideChar;
                                 nTimeout: integer): integer; stdcall;

  AU3_WinWaitNotActiveA: function(szTitle, szText: PWideChar;
                                  nTimeout: integer): integer; stdcall;

{//////////////////////////////////////////////////////////////////////////////// }

{$ENDIF}

var
  DLLLoaded: Boolean { is DLL (dynamically) loaded already? }
    {$IFDEF WIN32} = False; {$ENDIF}

implementation

var
  SaveExit: pointer;
  DLLHandle: THandle;
{$IFNDEF MSDOS}
  ErrorMode: Integer;
{$ENDIF}

  procedure NewExit; far;
  begin
    ExitProc := SaveExit;
    FreeLibrary(DLLHandle)
  end {NewExit};

procedure LoadDLL;
begin
  if DLLLoaded then Exit;
{$IFNDEF MSDOS}
  ErrorMode := SetErrorMode($8000{SEM_NoOpenFileErrorBox});
{$ENDIF}
  DLLHandle := LoadLibrary('AUTOITX3.DLL');
  if DLLHandle >= 32 then
  begin
    DLLLoaded := True;
    SaveExit := ExitProc;
    ExitProc := @NewExit;
    @AU3_Init := GetProcAddress(DLLHandle,'AU3_Init');
  {$IFDEF WIN32}
    Assert(@AU3_Init <> nil);
  {$ENDIF}
    @AU3_error := GetProcAddress(DLLHandle,'AU3_error');
  {$IFDEF WIN32}
    Assert(@AU3_error <> nil);
  {$ENDIF}
    @AU3_AutoItSetOption := GetProcAddress(DLLHandle,'AU3_AutoItSetOption');
  {$IFDEF WIN32}
    Assert(@AU3_AutoItSetOption <> nil);
  {$ENDIF}
    @AU3_BlockInput := GetProcAddress(DLLHandle,'AU3_BlockInput');
  {$IFDEF WIN32}
    Assert(@AU3_BlockInput <> nil);
  {$ENDIF}
    @AU3_CDTray := GetProcAddress(DLLHandle,'AU3_CDTray');
  {$IFDEF WIN32}
    Assert(@AU3_CDTray <> nil);
  {$ENDIF}
    @AU3_ClipGet := GetProcAddress(DLLHandle,'AU3_ClipGet');
  {$IFDEF WIN32}
    Assert(@AU3_ClipGet <> nil);
  {$ENDIF}
    @AU3_ClipPut := GetProcAddress(DLLHandle,'AU3_ClipPut');
  {$IFDEF WIN32}
    Assert(@AU3_ClipPut <> nil);
  {$ENDIF}
    @AU3_ControlClick := GetProcAddress(DLLHandle,'AU3_ControlClick');
  {$IFDEF WIN32}
    Assert(@AU3_ControlClick <> nil);
  {$ENDIF}
    @AU3_ControlCommand := GetProcAddress(DLLHandle,'AU3_ControlCommand');
  {$IFDEF WIN32}
    Assert(@AU3_ControlCommand <> nil);
  {$ENDIF}
    @AU3_ControlListView := GetProcAddress(DLLHandle,'AU3_ControlListView');
  {$IFDEF WIN32}
    Assert(@AU3_ControlListView <> nil);
  {$ENDIF}
    @AU3_ControlDisable := GetProcAddress(DLLHandle,'AU3_ControlDisable');
  {$IFDEF WIN32}
    Assert(@AU3_ControlDisable <> nil);
  {$ENDIF}
    @AU3_ControlEnable := GetProcAddress(DLLHandle,'AU3_ControlEnable');
  {$IFDEF WIN32}
    Assert(@AU3_ControlEnable <> nil);
  {$ENDIF}
    @AU3_ControlFocus := GetProcAddress(DLLHandle,'AU3_ControlFocus');
  {$IFDEF WIN32}
    Assert(@AU3_ControlFocus <> nil);
  {$ENDIF}
    @AU3_ControlGetFocus := GetProcAddress(DLLHandle,'AU3_ControlGetFocus');
  {$IFDEF WIN32}
    Assert(@AU3_ControlGetFocus <> nil);
  {$ENDIF}
    @AU3_ControlGetHandle := GetProcAddress(DLLHandle,'AU3_ControlGetHandle');
  {$IFDEF WIN32}
    Assert(@AU3_ControlGetHandle <> nil);
  {$ENDIF}
    @AU3_ControlGetPosX := GetProcAddress(DLLHandle,'AU3_ControlGetPosX');
  {$IFDEF WIN32}
    Assert(@AU3_ControlGetPosX <> nil);
  {$ENDIF}
    @AU3_ControlGetPosY := GetProcAddress(DLLHandle,'AU3_ControlGetPosY');
  {$IFDEF WIN32}
    Assert(@AU3_ControlGetPosY <> nil);
  {$ENDIF}
    @AU3_ControlGetPosHeight := GetProcAddress(DLLHandle,'AU3_ControlGetPosHeight');
  {$IFDEF WIN32}
    Assert(@AU3_ControlGetPosHeight <> nil);
  {$ENDIF}
    @AU3_ControlGetPosWidth := GetProcAddress(DLLHandle,'AU3_ControlGetPosWidth');
  {$IFDEF WIN32}
    Assert(@AU3_ControlGetPosWidth <> nil);
  {$ENDIF}
    @AU3_ControlGetText := GetProcAddress(DLLHandle,'AU3_ControlGetText');
  {$IFDEF WIN32}
    Assert(@AU3_ControlGetText <> nil);
  {$ENDIF}
    @AU3_ControlHide := GetProcAddress(DLLHandle,'AU3_ControlHide');
  {$IFDEF WIN32}
    Assert(@AU3_ControlHide <> nil);
  {$ENDIF}
    @AU3_ControlMove := GetProcAddress(DLLHandle,'AU3_ControlMove');
  {$IFDEF WIN32}
    Assert(@AU3_ControlMove <> nil);
  {$ENDIF}
    @AU3_ControlSend := GetProcAddress(DLLHandle,'AU3_ControlSend');
  {$IFDEF WIN32}
    Assert(@AU3_ControlSend <> nil);
  {$ENDIF}
    @AU3_ControlSetText := GetProcAddress(DLLHandle,'AU3_ControlSetText');
  {$IFDEF WIN32}
    Assert(@AU3_ControlSetText <> nil);
  {$ENDIF}
    @AU3_ControlShow := GetProcAddress(DLLHandle,'AU3_ControlShow');
  {$IFDEF WIN32}
    Assert(@AU3_ControlShow <> nil);
  {$ENDIF}
    @AU3_ControlTreeView := GetProcAddress(DLLHandle,'AU3_ControlTreeView');
  {$IFDEF WIN32}
    Assert(@AU3_ControlTreeView <> nil);
  {$ENDIF}
    @AU3_DriveMapAdd := GetProcAddress(DLLHandle,'AU3_DriveMapAdd');
  {$IFDEF WIN32}
    Assert(@AU3_DriveMapAdd <> nil);
  {$ENDIF}
    @AU3_DriveMapDel := GetProcAddress(DLLHandle,'AU3_DriveMapDel');
  {$IFDEF WIN32}
    Assert(@AU3_DriveMapDel <> nil);
  {$ENDIF}
    @AU3_DriveMapGet := GetProcAddress(DLLHandle,'AU3_DriveMapGet');
  {$IFDEF WIN32}
    Assert(@AU3_DriveMapGet <> nil);
  {$ENDIF}
    @AU3_IniDelete := GetProcAddress(DLLHandle,'AU3_IniDelete');
  {$IFDEF WIN32}
    Assert(@AU3_IniDelete <> nil);
  {$ENDIF}
    @AU3_IniRead := GetProcAddress(DLLHandle,'AU3_IniRead');
  {$IFDEF WIN32}
    Assert(@AU3_IniRead <> nil);
  {$ENDIF}
    @AU3_IniWrite := GetProcAddress(DLLHandle,'AU3_IniWrite');
  {$IFDEF WIN32}
    Assert(@AU3_IniWrite <> nil);
  {$ENDIF}
    @AU3_IsAdmin := GetProcAddress(DLLHandle,'AU3_IsAdmin');
  {$IFDEF WIN32}
    Assert(@AU3_IsAdmin <> nil);
  {$ENDIF}
    @AU3_MouseClick := GetProcAddress(DLLHandle,'AU3_MouseClick');
  {$IFDEF WIN32}
    Assert(@AU3_MouseClick <> nil);
  {$ENDIF}
    @AU3_MouseClickDrag := GetProcAddress(DLLHandle,'AU3_MouseClickDrag');
  {$IFDEF WIN32}
    Assert(@AU3_MouseClickDrag <> nil);
  {$ENDIF}
    @AU3_MouseDown := GetProcAddress(DLLHandle,'AU3_MouseDown');
  {$IFDEF WIN32}
    Assert(@AU3_MouseDown <> nil);
  {$ENDIF}
    @AU3_MouseGetCursor := GetProcAddress(DLLHandle,'AU3_MouseGetCursor');
  {$IFDEF WIN32}
    Assert(@AU3_MouseGetCursor <> nil);
  {$ENDIF}
    @AU3_MouseGetPosX := GetProcAddress(DLLHandle,'AU3_MouseGetPosX');
  {$IFDEF WIN32}
    Assert(@AU3_MouseGetPosX <> nil);
  {$ENDIF}
    @AU3_MouseGetPosY := GetProcAddress(DLLHandle,'AU3_MouseGetPosY');
  {$IFDEF WIN32}
    Assert(@AU3_MouseGetPosY <> nil);
  {$ENDIF}
    @AU3_MouseMove := GetProcAddress(DLLHandle,'AU3_MouseMove');
  {$IFDEF WIN32}
    Assert(@AU3_MouseMove <> nil);
  {$ENDIF}
    @AU3_MouseUp := GetProcAddress(DLLHandle,'AU3_MouseUp');
  {$IFDEF WIN32}
    Assert(@AU3_MouseUp <> nil);
  {$ENDIF}
    @AU3_MouseWheel := GetProcAddress(DLLHandle,'AU3_MouseWheel');
  {$IFDEF WIN32}
    Assert(@AU3_MouseWheel <> nil);
  {$ENDIF}
    @AU3_Opt := GetProcAddress(DLLHandle,'AU3_Opt');
  {$IFDEF WIN32}
    Assert(@AU3_Opt <> nil);
  {$ENDIF}
    @AU3_PixelChecksum := GetProcAddress(DLLHandle,'AU3_PixelChecksum');
  {$IFDEF WIN32}
    Assert(@AU3_PixelChecksum <> nil);
  {$ENDIF}
    @AU3_PixelGetColor := GetProcAddress(DLLHandle,'AU3_PixelGetColor');
  {$IFDEF WIN32}
    Assert(@AU3_PixelGetColor <> nil);
  {$ENDIF}
    @AU3_PixelSearch := GetProcAddress(DLLHandle,'AU3_PixelSearch');
  {$IFDEF WIN32}
    Assert(@AU3_PixelSearch <> nil);
  {$ENDIF}
    @AU3_ProcessClose := GetProcAddress(DLLHandle,'AU3_ProcessClose');
  {$IFDEF WIN32}
    Assert(@AU3_ProcessClose <> nil);
  {$ENDIF}
    @AU3_ProcessExists := GetProcAddress(DLLHandle,'AU3_ProcessExists');
  {$IFDEF WIN32}
    Assert(@AU3_ProcessExists <> nil);
  {$ENDIF}
    @AU3_ProcessSetPriority := GetProcAddress(DLLHandle,'AU3_ProcessSetPriority');
  {$IFDEF WIN32}
    Assert(@AU3_ProcessSetPriority <> nil);
  {$ENDIF}
    @AU3_ProcessWait := GetProcAddress(DLLHandle,'AU3_ProcessWait');
  {$IFDEF WIN32}
    Assert(@AU3_ProcessWait <> nil);
  {$ENDIF}
    @AU3_ProcessWaitClose := GetProcAddress(DLLHandle,'AU3_ProcessWaitClose');
  {$IFDEF WIN32}
    Assert(@AU3_ProcessWaitClose <> nil);
  {$ENDIF}
    @AU3_RegDeleteKey := GetProcAddress(DLLHandle,'AU3_RegDeleteKey');
  {$IFDEF WIN32}
    Assert(@AU3_RegDeleteKey <> nil);
  {$ENDIF}
    @AU3_RegDeleteVal := GetProcAddress(DLLHandle,'AU3_RegDeleteVal');
  {$IFDEF WIN32}
    Assert(@AU3_RegDeleteVal <> nil);
  {$ENDIF}
    @AU3_RegEnumKey := GetProcAddress(DLLHandle,'AU3_RegEnumKey');
  {$IFDEF WIN32}
    Assert(@AU3_RegEnumKey <> nil);
  {$ENDIF}
    @AU3_RegEnumVal := GetProcAddress(DLLHandle,'AU3_RegEnumVal');
  {$IFDEF WIN32}
    Assert(@AU3_RegEnumVal <> nil);
  {$ENDIF}
    @AU3_RegRead := GetProcAddress(DLLHandle,'AU3_RegRead');
  {$IFDEF WIN32}
    Assert(@AU3_RegRead <> nil);
  {$ENDIF}
    @AU3_RegWrite := GetProcAddress(DLLHandle,'AU3_RegWrite');
  {$IFDEF WIN32}
    Assert(@AU3_RegWrite <> nil);
  {$ENDIF}
    @AU3_Run := GetProcAddress(DLLHandle,'AU3_Run');
  {$IFDEF WIN32}
    Assert(@AU3_Run <> nil);
  {$ENDIF}
    @AU3_RunAsSet := GetProcAddress(DLLHandle,'AU3_RunAsSet');
  {$IFDEF WIN32}
    Assert(@AU3_RunAsSet <> nil);
  {$ENDIF}
    @AU3_RunWait := GetProcAddress(DLLHandle,'AU3_RunWait');
  {$IFDEF WIN32}
    Assert(@AU3_RunWait <> nil);
  {$ENDIF}
    @AU3_Send := GetProcAddress(DLLHandle,'AU3_Send');
  {$IFDEF WIN32}
    Assert(@AU3_Send <> nil);
  {$ENDIF}
    @AU3_SendA := GetProcAddress(DLLHandle,'AU3_SendA');
  {$IFDEF WIN32}
    Assert(@AU3_SendA <> nil);
  {$ENDIF}
    @AU3_Shutdown := GetProcAddress(DLLHandle,'AU3_Shutdown');
  {$IFDEF WIN32}
    Assert(@AU3_Shutdown <> nil);
  {$ENDIF}
    @AU3_Sleep := GetProcAddress(DLLHandle,'AU3_Sleep');
  {$IFDEF WIN32}
    Assert(@AU3_Sleep <> nil);
  {$ENDIF}
    @AU3_StatusbarGetText := GetProcAddress(DLLHandle,'AU3_StatusbarGetText');
  {$IFDEF WIN32}
    Assert(@AU3_StatusbarGetText <> nil);
  {$ENDIF}
    @AU3_ToolTip := GetProcAddress(DLLHandle,'AU3_ToolTip');
  {$IFDEF WIN32}
    Assert(@AU3_ToolTip <> nil);
  {$ENDIF}
    @AU3_WinActivate := GetProcAddress(DLLHandle,'AU3_WinActivate');
  {$IFDEF WIN32}
    Assert(@AU3_WinActivate <> nil);
  {$ENDIF}
    @AU3_WinActive := GetProcAddress(DLLHandle,'AU3_WinActive');
  {$IFDEF WIN32}
    Assert(@AU3_WinActive <> nil);
  {$ENDIF}
    @AU3_WinClose := GetProcAddress(DLLHandle,'AU3_WinClose');
  {$IFDEF WIN32}
    Assert(@AU3_WinClose <> nil);
  {$ENDIF}
    @AU3_WinExists := GetProcAddress(DLLHandle,'AU3_WinExists');
  {$IFDEF WIN32}
    Assert(@AU3_WinExists <> nil);
  {$ENDIF}
    @AU3_WinGetCaretPosX := GetProcAddress(DLLHandle,'AU3_WinGetCaretPosX');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetCaretPosX <> nil);
  {$ENDIF}
    @AU3_WinGetCaretPosY := GetProcAddress(DLLHandle,'AU3_WinGetCaretPosY');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetCaretPosY <> nil);
  {$ENDIF}
    @AU3_WinGetClassList := GetProcAddress(DLLHandle,'AU3_WinGetClassList');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetClassList <> nil);
  {$ENDIF}
    @AU3_WinGetClientSizeHeight := GetProcAddress(DLLHandle,'AU3_WinGetClientSizeHeight');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetClientSizeHeight <> nil);
  {$ENDIF}
    @AU3_WinGetClientSizeWidth := GetProcAddress(DLLHandle,'AU3_WinGetClientSizeWidth');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetClientSizeWidth <> nil);
  {$ENDIF}
    @AU3_WinGetHandle := GetProcAddress(DLLHandle,'AU3_WinGetHandle');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetHandle <> nil);
  {$ENDIF}
    @AU3_WinGetPosX := GetProcAddress(DLLHandle,'AU3_WinGetPosX');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetPosX <> nil);
  {$ENDIF}
    @AU3_WinGetPosY := GetProcAddress(DLLHandle,'AU3_WinGetPosY');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetPosY <> nil);
  {$ENDIF}
    @AU3_WinGetPosHeight := GetProcAddress(DLLHandle,'AU3_WinGetPosHeight');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetPosHeight <> nil);
  {$ENDIF}
    @AU3_WinGetPosWidth := GetProcAddress(DLLHandle,'AU3_WinGetPosWidth');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetPosWidth <> nil);
  {$ENDIF}
    @AU3_WinGetProcess := GetProcAddress(DLLHandle,'AU3_WinGetProcess');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetProcess <> nil);
  {$ENDIF}
    @AU3_WinGetState := GetProcAddress(DLLHandle,'AU3_WinGetState');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetState <> nil);
  {$ENDIF}
    @AU3_WinGetText := GetProcAddress(DLLHandle,'AU3_WinGetText');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetText <> nil);
  {$ENDIF}
    @AU3_WinGetTitle := GetProcAddress(DLLHandle,'AU3_WinGetTitle');
  {$IFDEF WIN32}
    Assert(@AU3_WinGetTitle <> nil);
  {$ENDIF}
    @AU3_WinKill := GetProcAddress(DLLHandle,'AU3_WinKill');
  {$IFDEF WIN32}
    Assert(@AU3_WinKill <> nil);
  {$ENDIF}
    @AU3_WinMenuSelectItem := GetProcAddress(DLLHandle,'AU3_WinMenuSelectItem');
  {$IFDEF WIN32}
    Assert(@AU3_WinMenuSelectItem <> nil);
  {$ENDIF}
    @AU3_WinMinimizeAll := GetProcAddress(DLLHandle,'AU3_WinMinimizeAll');
  {$IFDEF WIN32}
    Assert(@AU3_WinMinimizeAll <> nil);
  {$ENDIF}
    @AU3_WinMinimizeAllUndo := GetProcAddress(DLLHandle,'AU3_WinMinimizeAllUndo');
  {$IFDEF WIN32}
    Assert(@AU3_WinMinimizeAllUndo <> nil);
  {$ENDIF}
    @AU3_WinMove := GetProcAddress(DLLHandle,'AU3_WinMove');
  {$IFDEF WIN32}
    Assert(@AU3_WinMove <> nil);
  {$ENDIF}
    @AU3_WinSetOnTop := GetProcAddress(DLLHandle,'AU3_WinSetOnTop');
  {$IFDEF WIN32}
    Assert(@AU3_WinSetOnTop <> nil);
  {$ENDIF}
    @AU3_WinSetState := GetProcAddress(DLLHandle,'AU3_WinSetState');
  {$IFDEF WIN32}
    Assert(@AU3_WinSetState <> nil);
  {$ENDIF}
    @AU3_WinSetTitle := GetProcAddress(DLLHandle,'AU3_WinSetTitle');
  {$IFDEF WIN32}
    Assert(@AU3_WinSetTitle <> nil);
  {$ENDIF}
    @AU3_WinSetTrans := GetProcAddress(DLLHandle,'AU3_WinSetTrans');
  {$IFDEF WIN32}
    Assert(@AU3_WinSetTrans <> nil);
  {$ENDIF}
    @AU3_WinWait := GetProcAddress(DLLHandle,'AU3_WinWait');
  {$IFDEF WIN32}
    Assert(@AU3_WinWait <> nil);
  {$ENDIF}
    @AU3_WinWaitA := GetProcAddress(DLLHandle,'AU3_WinWaitA');
  {$IFDEF WIN32}
    Assert(@AU3_WinWaitA <> nil);
  {$ENDIF}
    @AU3_WinWaitActive := GetProcAddress(DLLHandle,'AU3_WinWaitActive');
  {$IFDEF WIN32}
    Assert(@AU3_WinWaitActive <> nil);
  {$ENDIF}
    @AU3_WinWaitActiveA := GetProcAddress(DLLHandle,'AU3_WinWaitActiveA');
  {$IFDEF WIN32}
    Assert(@AU3_WinWaitActiveA <> nil);
  {$ENDIF}
    @AU3_WinWaitClose := GetProcAddress(DLLHandle,'AU3_WinWaitClose');
  {$IFDEF WIN32}
    Assert(@AU3_WinWaitClose <> nil);
  {$ENDIF}
    @AU3_WinWaitCloseA := GetProcAddress(DLLHandle,'AU3_WinWaitCloseA');
  {$IFDEF WIN32}
    Assert(@AU3_WinWaitCloseA <> nil);
  {$ENDIF}
    @AU3_WinWaitNotActive := GetProcAddress(DLLHandle,'AU3_WinWaitNotActive');
  {$IFDEF WIN32}
    Assert(@AU3_WinWaitNotActive <> nil);
  {$ENDIF}
    @AU3_WinWaitNotActiveA := GetProcAddress(DLLHandle,'AU3_WinWaitNotActiveA');
  {$IFDEF WIN32}
    Assert(@AU3_WinWaitNotActiveA <> nil);
  {$ENDIF}
  end
  else
  begin
    DLLLoaded := False;
    { Error: AUTOITX3.DLL could not be loaded !! }
  end;
{$IFNDEF MSDOS}
  SetErrorMode(ErrorMode)
{$ENDIF}
end {LoadDLL};

begin
  LoadDLL;
end.
