zoukankan      html  css  js  c++  java
  • C#调用AutoIt3的DLL

    首先下载安装版的AutoIt3,安装后有个AutoItX3.dll,复制到程序bin目录下。

    然后添加类文件:

    using System.Text;
    using System.Runtime.InteropServices;
    
    namespace audoit
    {
        public class AutoItX3Declarations
        {
            //NOTE: This is based on AutoItX v3.3.0.0 which is a Unicode version
            //NOTE: My comments usually have "jcd" appended where I am uncertain.
            //NOTE: Optional parameters are not supported in C# yet so fill in all fields even if just "".
            //NOTE: Be prepared to play around a bit with which fields need values and what those value are.
            //NOTE: In previous versions we used byte[] to return values like this:
            //byte[] returnclip = new byte[200]; //at least twice as long as the text string expected +2 for null, (Unicode is 2 bytes)
            //AutoItX3Declarations.AU3_ClipGet(returnclip, returnclip.Length);
            //clipdata = System.Text.Encoding.Unicode.GetString(returnclip).TrimEnd('');
    
            //Now we are returning Unicode we can use StringBuilder instead like this:
            //StringBuilder clip = new StringBuilder(); //passing a parameter here will not work, we must asign a length
            //clip.Length = 200; //the number of chars expected plus 1 for the terminating null
            //AutoItX3Declarations.AU3_ClipGet(clip,clip.Length);
            //MessageBox.Show(clip.ToString());
            //NOTE: The big advantage of using AutoItX3 like this is that you don't have to register
            //the dll with windows and more importantly you get away from the many issues involved in
            //publishing the application and the binding to the dll required.
    
            //The below constants were found by Registering AutoItX3.dll in Windows
            //, adding AutoItX3Lib to References in IDE
            //,declaring an instance of it like this:
            // AutoItX3Lib.AutoItX3 autoit;
            // static AutoItX3Lib.AutoItX3Class autoit;
            //,right clicking on the AutoItX3Class and then Goto Definitions
            //and seeing the equivalent of the below in the MetaData Window.
            //So far it is working
    
            //NOTE: easier way is to use "DLL Export Viewer" utility and get it to list Properties also
            //"DLL Export Viewer" is from http://www.nirsoft.net
            // Definitions
            public const int AU3_INTDEFAULT = -2147483647; // "Default" value for _some_ int parameters (largest negative number)
            public const int error = 1;
            public const int SW_HIDE = 2;
            public const int SW_MAXIMIZE = 3;
            public const int SW_MINIMIZE = 4;
            public const int SW_RESTORE = 5;
            public const int SW_SHOW = 6;
            public const int SW_SHOWDEFAULT = 7;
            public const int SW_SHOWMAXIMIZED = 8;
            public const int SW_SHOWMINIMIZED = 9;
            public const int SW_SHOWMINNOACTIVE = 10;
            public const int SW_SHOWNA = 11;
            public const int SW_SHOWNOACTIVATE = 12;
            public const int SW_SHOWNORMAL = 13;
            public const int version = 110; //was 109 if previous non-unicode version
    
            /////////////////////////////////////////////////////////////////////////////////
            //// Exported functions of AutoItXC.dll
            /////////////////////////////////////////////////////////////////////////////////
    
            //AU3_API void WINAPI AU3_Init(void);
            //Uncertain if this is needed jcd
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_Init();
    
            //AU3_API long AU3_error(void);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_error();
    
            //AU3_API long WINAPI AU3_AutoItSetOption(LPCWSTR szOption, long nValue);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_AutoItSetOption([MarshalAs(UnmanagedType.LPWStr)] string Option, int Value);
    
            //AU3_API void WINAPI AU3_BlockInput(long nFlag);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_BlockInput(int Flag);
    
            //AU3_API long WINAPI AU3_CDTray(LPCWSTR szDrive, LPCWSTR szAction);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_CDTray([MarshalAs(UnmanagedType.LPWStr)] string Drive
            , [MarshalAs(UnmanagedType.LPWStr)] string Action);
    
            //AU3_API void WINAPI AU3_ClipGet(LPWSTR szClip, int nBufSize);
            //Use like this:
            //StringBuilder clip = new StringBuilder();
            //clip.Length = 4;
            //AutoItX3Declarations.AU3_ClipGet(clip,clip.Length);
            //MessageBox.Show(clip.ToString());
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ClipGet([MarshalAs(UnmanagedType.LPWStr)]StringBuilder Clip, int BufSize);
    
            //AU3_API void WINAPI AU3_ClipPut(LPCWSTR szClip);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ClipPut([MarshalAs(UnmanagedType.LPWStr)] string Clip);
    
            //AU3_API long WINAPI AU3_ControlClick(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, LPCWSTR szButton, long nNumClicks, /*[in,defaultvalue(AU3_INTDEFAULT)]*/long nX
            //, /*[in,defaultvalue(AU3_INTDEFAULT)]*/long nY);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlClick([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)] string Button, int NumClicks, int X, int Y);
    
            //AU3_API void WINAPI AU3_ControlCommand(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, LPCWSTR szCommand, LPCWSTR szExtra, LPWSTR szResult, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ControlCommand([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)] string Command, [MarshalAs(UnmanagedType.LPWStr)] string Extra
            , [MarshalAs(UnmanagedType.LPWStr)] StringBuilder Result, int BufSize);
    
            //AU3_API void WINAPI AU3_ControlListView(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, LPCWSTR szCommand, LPCWSTR szExtra1, LPCWSTR szExtra2, LPWSTR szResult, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ControlListView([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)] string Command, [MarshalAs(UnmanagedType.LPWStr)] string Extral1
            , [MarshalAs(UnmanagedType.LPWStr)] string Extra2, [MarshalAs(UnmanagedType.LPWStr)] StringBuilder Result
            , int BufSize);
    
            //AU3_API long WINAPI AU3_ControlDisable(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlDisable([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API long WINAPI AU3_ControlEnable(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlEnable([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API long WINAPI AU3_ControlFocus(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlFocus([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API void WINAPI AU3_ControlGetFocus(LPCWSTR szTitle, LPCWSTR szText, LPWSTR szControlWithFocus
            //, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ControlGetFocus([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] StringBuilder ControlWithFocus
            , int BufSize);
    
            //AU3_API void WINAPI AU3_ControlGetHandle(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, LPCWSTR szControl, LPWSTR szRetText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ControlGetHandle([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)] StringBuilder RetText, int BufSize);
    
            //AU3_API long WINAPI AU3_ControlGetPosX(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlGetPosX([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API long WINAPI AU3_ControlGetPosY(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlGetPosY([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API long WINAPI AU3_ControlGetPosHeight(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlGetPosHeight([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API long WINAPI AU3_ControlGetPosWidth(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlGetPosWidth([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API void WINAPI AU3_ControlGetText(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, LPWSTR szControlText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ControlGetText([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)]StringBuilder ControlText, int BufSize);
    
            //AU3_API long WINAPI AU3_ControlHide(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlHide([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API long WINAPI AU3_ControlMove(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, long nX, long nY, /*[in,defaultvalue(-1)]*/long nWidth, /*[in,defaultvalue(-1)]*/long nHeight);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlMove([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , int X, int Y, int Width, int Height);
    
            //AU3_API long WINAPI AU3_ControlSend(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, LPCWSTR szSendText, /*[in,defaultvalue(0)]*/long nMode);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlSend([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)] string SendText, int Mode);
    
            //AU3_API long WINAPI AU3_ControlSetText(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, LPCWSTR szControlText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlSetText([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)] string ControlText);
    
            //AU3_API long WINAPI AU3_ControlShow(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ControlShow([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control);
    
            //AU3_API void WINAPI AU3_ControlTreeView(LPCWSTR szTitle, LPCWSTR szText, LPCWSTR szControl
            //, LPCWSTR szCommand, LPCWSTR szExtra1, LPCWSTR szExtra2, LPWSTR szResult, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ControlTreeView([MarshalAs(UnmanagedType.LPWStr)] string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Control
            , [MarshalAs(UnmanagedType.LPWStr)] string Command, [MarshalAs(UnmanagedType.LPWStr)] string Extra1
            , [MarshalAs(UnmanagedType.LPWStr)] string Extra2, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder Result, int BufSize);
    
            //AU3_API void WINAPI AU3_DriveMapAdd(LPCWSTR szDevice, LPCWSTR szShare, long nFlags
            //, /*[in,defaultvalue("")]*/LPCWSTR szUser, /*[in,defaultvalue("")]*/LPCWSTR szPwd
            //, LPWSTR szResult, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_DriveMapAdd([MarshalAs(UnmanagedType.LPWStr)] string Device
            , [MarshalAs(UnmanagedType.LPWStr)] string Share, int Flags, [MarshalAs(UnmanagedType.LPWStr)] string User
            , [MarshalAs(UnmanagedType.LPWStr)] string Pwd, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder Result, int BufSize);
    
            //AU3_API long WINAPI AU3_DriveMapDel(LPCWSTR szDevice);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_DriveMapDel([MarshalAs(UnmanagedType.LPWStr)] string Device);
    
            //AU3_API void WINAPI AU3_DriveMapGet(LPCWSTR szDevice, LPWSTR szMapping, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_DriveMapGet([MarshalAs(UnmanagedType.LPWStr)] string Device
            , [MarshalAs(UnmanagedType.LPWStr)]StringBuilder Mapping, int BufSize);
    
            //AU3_API long WINAPI AU3_IniDelete(LPCWSTR szFilename, LPCWSTR szSection, LPCWSTR szKey);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_IniDelete([MarshalAs(UnmanagedType.LPWStr)] string Filename
            , [MarshalAs(UnmanagedType.LPWStr)] string Section, [MarshalAs(UnmanagedType.LPWStr)] string Key);
    
            //AU3_API void WINAPI AU3_IniRead(LPCWSTR szFilename, LPCWSTR szSection, LPCWSTR szKey
            //, LPCWSTR szDefault, LPWSTR szValue, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_IniRead([MarshalAs(UnmanagedType.LPWStr)] string Filename
            , [MarshalAs(UnmanagedType.LPWStr)] string Section, [MarshalAs(UnmanagedType.LPWStr)] string Key
            , [MarshalAs(UnmanagedType.LPWStr)] string Default, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder Value, int BufSize);
    
            //AU3_API long WINAPI AU3_IniWrite(LPCWSTR szFilename, LPCWSTR szSection, LPCWSTR szKey
            //, LPCWSTR szValue);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_IniWrite([MarshalAs(UnmanagedType.LPWStr)] string Filename
            , [MarshalAs(UnmanagedType.LPWStr)] string Section, [MarshalAs(UnmanagedType.LPWStr)] string Key
            , [MarshalAs(UnmanagedType.LPWStr)] string Value);
    
            //AU3_API long WINAPI AU3_IsAdmin(void);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_IsAdmin();
    
            //AU3_API long WINAPI AU3_MouseClick(/*[in,defaultvalue("LEFT")]*/LPCWSTR szButton
            //, /*[in,defaultvalue(AU3_INTDEFAULT)]*/long nX, /*[in,defaultvalue(AU3_INTDEFAULT)]*/long nY
            //, /*[in,defaultvalue(1)]*/long nClicks, /*[in,defaultvalue(-1)]*/long nSpeed);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_MouseClick([MarshalAs(UnmanagedType.LPWStr)] string Button, int x, int y
            , int clicks, int speed);
    
            //AU3_API long WINAPI AU3_MouseClickDrag(LPCWSTR szButton, long nX1, long nY1, long nX2, long nY2
            //, /*[in,defaultvalue(-1)]*/long nSpeed);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_MouseClickDrag([MarshalAs(UnmanagedType.LPWStr)] string Button
            , int X1, int Y1, int X2, int Y2, int Speed);
    
            //AU3_API void WINAPI AU3_MouseDown(/*[in,defaultvalue("LEFT")]*/LPCWSTR szButton);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_MouseDown([MarshalAs(UnmanagedType.LPWStr)] string Button);
    
            //AU3_API long WINAPI AU3_MouseGetCursor(void);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_MouseGetCursor();
    
            //AU3_API long WINAPI AU3_MouseGetPosX(void);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_MouseGetPosX();
    
            //AU3_API long WINAPI AU3_MouseGetPosY(void);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_MouseGetPosY();
    
            //AU3_API long WINAPI AU3_MouseMove(long nX, long nY, /*[in,defaultvalue(-1)]*/long nSpeed);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_MouseMove(int X, int Y, int Speed);
    
            //AU3_API void WINAPI AU3_MouseUp(/*[in,defaultvalue("LEFT")]*/LPCWSTR szButton);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_MouseUp([MarshalAs(UnmanagedType.LPWStr)] string Button);
    
            //AU3_API void WINAPI AU3_MouseWheel(LPCWSTR szDirection, long nClicks);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_MouseWheel([MarshalAs(UnmanagedType.LPWStr)] string Direction, int Clicks);
    
            //AU3_API long WINAPI AU3_Opt(LPCWSTR szOption, long nValue);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_Opt([MarshalAs(UnmanagedType.LPWStr)] string Option, int Value);
    
            //AU3_API unsigned long WINAPI AU3_PixelChecksum(long nLeft, long nTop, long nRight, long nBottom
            //, /*[in,defaultvalue(1)]*/long nStep);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_PixelChecksum(int Left, int Top, int Right, int Bottom, int Step);
    
            //AU3_API long WINAPI AU3_PixelGetColor(long nX, long nY);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_PixelGetColor(int X, int Y);
    
            //AU3_API void WINAPI AU3_PixelSearch(long nLeft, long nTop, long nRight, long nBottom, long nCol
            //, /*default 0*/long nVar, /*default 1*/long nStep, LPPOINT pPointResult);
            //Use like this:
            //int[] result = {0,0};
            //try
            //{
            // AutoItX3Declarations.AU3_PixelSearch(0, 0, 800, 000,0xFFFFFF, 0, 1, result);
            //}
            //catch { }
            //It will crash if the color is not found, have not been able to determin why jcd
            //The AutoItX3Lib.AutoItX3Class version has similar problems and is the only function to return an object
            //so contortions are needed to get the data from it ie:
            //int[] result = {0,0};
            //object resultObj;
            //AutoItX3Lib.AutoItX3Class autoit = new AutoItX3Lib.AutoItX3Class();
            //resultObj = autoit.PixelSearch(0, 0, 800, 600, 0xFFFF00,0,1);
            //Type t = resultObj.GetType();
            //if(t == typeof(object[]))
            //{
            //object[] obj = (object[])resultObj;
            //result[0] = (int)obj[0];
            //result[1] = (int)obj[1];
            //}
            //When it fails it returns an object = 1 but when it succeeds it is object[X,Y]
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_PixelSearch(int Left, int Top, int Right, int Bottom, int Col, int Var
            , int Step, int[] PointResult);
    
            //AU3_API long WINAPI AU3_ProcessClose(LPCWSTR szProcess);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ProcessClose([MarshalAs(UnmanagedType.LPWStr)]string Process);
    
            //AU3_API long WINAPI AU3_ProcessExists(LPCWSTR szProcess);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ProcessExists([MarshalAs(UnmanagedType.LPWStr)]string Process);
    
            //AU3_API long WINAPI AU3_ProcessSetPriority(LPCWSTR szProcess, long nPriority);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ProcessSetPriority([MarshalAs(UnmanagedType.LPWStr)]string Process, int Priority);
    
            //AU3_API long WINAPI AU3_ProcessWait(LPCWSTR szProcess, /*[in,defaultvalue(0)]*/long nTimeout);
            //Not checked jcd
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ProcessWait([MarshalAs(UnmanagedType.LPWStr)]string Process, int Timeout);
    
            //AU3_API long WINAPI AU3_ProcessWaitClose(LPCWSTR szProcess, /*[in,defaultvalue(0)]*/long nTimeout);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_ProcessWaitClose([MarshalAs(UnmanagedType.LPWStr)]string Process, int Timeout);
    
            //AU3_API long WINAPI AU3_RegDeleteKey(LPCWSTR szKeyname);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_RegDeleteKey([MarshalAs(UnmanagedType.LPWStr)]string Keyname);
    
            //AU3_API long WINAPI AU3_RegDeleteVal(LPCWSTR szKeyname, LPCWSTR szValuename);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_RegDeleteVal([MarshalAs(UnmanagedType.LPWStr)]string Keyname
            , [MarshalAs(UnmanagedType.LPWStr)]string ValueName);
    
            //AU3_API void WINAPI AU3_RegEnumKey(LPCWSTR szKeyname, long nInstance, LPWSTR szResult, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_RegEnumKey([MarshalAs(UnmanagedType.LPWStr)]string Keyname
            , int Instance, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder Result, int BusSize);
    
            //AU3_API void WINAPI AU3_RegEnumVal(LPCWSTR szKeyname, long nInstance, LPWSTR szResult, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_RegEnumVal([MarshalAs(UnmanagedType.LPWStr)]string Keyname
            , int Instance, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder Result, int BufSize);
    
            //AU3_API void WINAPI AU3_RegRead(LPCWSTR szKeyname, LPCWSTR szValuename, LPWSTR szRetText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_RegRead([MarshalAs(UnmanagedType.LPWStr)]string Keyname
            , [MarshalAs(UnmanagedType.LPWStr)]string Valuename, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder RetText, int BufSize);
    
            //AU3_API long WINAPI AU3_RegWrite(LPCWSTR szKeyname, LPCWSTR szValuename, LPCWSTR szType
            //, LPCWSTR szValue);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_RegWrite([MarshalAs(UnmanagedType.LPWStr)]string Keyname
            , [MarshalAs(UnmanagedType.LPWStr)]string Valuename, [MarshalAs(UnmanagedType.LPWStr)]string Type
            , [MarshalAs(UnmanagedType.LPWStr)]string Value);
    
            //AU3_API long WINAPI AU3_Run(LPCWSTR szRun, /*[in,defaultvalue("")]*/LPCWSTR szDir
            //, /*[in,defaultvalue(1)]*/long nShowFlags);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_Run([MarshalAs(UnmanagedType.LPWStr)]string Run
            , [MarshalAs(UnmanagedType.LPWStr)]string Dir, int ShowFlags);
    
            //AU3_API long WINAPI AU3_RunAsSet(LPCWSTR szUser, LPCWSTR szDomain, LPCWSTR szPassword, int nOptions);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_RunAsSet([MarshalAs(UnmanagedType.LPWStr)]string User
            , [MarshalAs(UnmanagedType.LPWStr)]string Domain, [MarshalAs(UnmanagedType.LPWStr)]string Password
            , int Options);
    
            //AU3_API long WINAPI AU3_RunWait(LPCWSTR szRun, /*[in,defaultvalue("")]*/LPCWSTR szDir
            //, /*[in,defaultvalue(1)]*/long nShowFlags);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_RunWait([MarshalAs(UnmanagedType.LPWStr)]string Run
            , [MarshalAs(UnmanagedType.LPWStr)]string Dir, int ShowFlags);
    
            //AU3_API void WINAPI AU3_Send(LPCWSTR szSendText, /*[in,defaultvalue("")]*/long nMode);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_Send([MarshalAs(UnmanagedType.LPWStr)] string SendText, int Mode);
    
            //AU3_API void WINAPI AU3_SendA(LPCSTR szSendText, /*[in,defaultvalue("")]*/long nMode);
            //Not checked jcd
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_SendA([MarshalAs(UnmanagedType.LPStr)] string SendText, int Mode);
    
            //AU3_API long WINAPI AU3_Shutdown(long nFlags);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_Shutdown(int Flags);
    
            //AU3_API void WINAPI AU3_Sleep(long nMilliseconds);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_Sleep(int Milliseconds);
    
            //AU3_API void WINAPI AU3_StatusbarGetText(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, /*[in,defaultvalue(1)]*/long nPart, LPWSTR szStatusText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_StatusbarGetText([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text, int Part, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder StatusText, int BufSize);
    
            //AU3_API void WINAPI AU3_ToolTip(LPCWSTR szTip, /*[in,defaultvalue(AU3_INTDEFAULT)]*/long nX
            //, /*[in,defaultvalue(AU3_INTDEFAULT)]*/long nY);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_ToolTip([MarshalAs(UnmanagedType.LPWStr)]string Tip, int X, int Y);
    
            //AU3_API void WINAPI AU3_WinActivate(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinActivate([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text);
    
            //AU3_API long WINAPI AU3_WinActive(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinActive([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text);
    
            //AU3_API long WINAPI AU3_WinClose(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinClose([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text);
    
            //AU3_API long WINAPI AU3_WinExists(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinExists([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text);
    
            //AU3_API long WINAPI AU3_WinGetCaretPosX(void);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetCaretPosX();
    
            //AU3_API long WINAPI AU3_WinGetCaretPosY(void);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetCaretPosY();
    
            //AU3_API void WINAPI AU3_WinGetClassList(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, LPWSTR szRetText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinGetClassList([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder RetText, int BufSize);
    
            //AU3_API long WINAPI AU3_WinGetClientSizeHeight(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetClientSizeHeight([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text);
    
            //AU3_API long WINAPI AU3_WinGetClientSizeWidth(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText); 
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetClientSizeWidth([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text);
    
            //AU3_API void WINAPI AU3_WinGetHandle(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, LPWSTR szRetText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinGetHandle([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)]string Text, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder RetText, int BufSize);
    
            //AU3_API long WINAPI AU3_WinGetPosX(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetPosX([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text);
    
            //AU3_API long WINAPI AU3_WinGetPosY(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetPosY([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text);
    
            //AU3_API long WINAPI AU3_WinGetPosHeight(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetPosHeight([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text);
    
            //AU3_API long WINAPI AU3_WinGetPosWidth(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetPosWidth([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text);
    
            //AU3_API void WINAPI AU3_WinGetProcess(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, LPWSTR szRetText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinGetProcess([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder RetText, int BufSize);
    
            //AU3_API long WINAPI AU3_WinGetState(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinGetState([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text);
    
            //AU3_API void WINAPI AU3_WinGetText(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, LPWSTR szRetText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinGetText([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder RetText, int BufSize);
    
            //AU3_API void WINAPI AU3_WinGetTitle(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, LPWSTR szRetText, int nBufSize);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinGetTitle([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)]StringBuilder RetText, int BufSize);
    
            //AU3_API long WINAPI AU3_WinKill(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinKill([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text);
    
            //AU3_API long WINAPI AU3_WinMenuSelectItem(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, LPCWSTR szItem1, LPCWSTR szItem2, LPCWSTR szItem3, LPCWSTR szItem4, LPCWSTR szItem5, LPCWSTR szItem6
            //, LPCWSTR szItem7, LPCWSTR szItem8);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinMenuSelectItem([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string Item1
            , [MarshalAs(UnmanagedType.LPWStr)] string Item2, [MarshalAs(UnmanagedType.LPWStr)] string Item3
            , [MarshalAs(UnmanagedType.LPWStr)] string Item4, [MarshalAs(UnmanagedType.LPWStr)] string Item5
            , [MarshalAs(UnmanagedType.LPWStr)] string Item6, [MarshalAs(UnmanagedType.LPWStr)] string Item7
            , [MarshalAs(UnmanagedType.LPWStr)] string Item8);
    
            //AU3_API void WINAPI AU3_WinMinimizeAll();
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinMinimizeAll();
    
            //AU3_API void WINAPI AU3_WinMinimizeAllUndo();
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern void AU3_WinMinimizeAllUndo();
    
            //AU3_API long WINAPI AU3_WinMove(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, long nX, long nY, /*[in,defaultvalue(-1)]*/long nWidth, /*[in,defaultvalue(-1)]*/long nHeight);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinMove([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int X, int Y, int Width, int Height);
    
            //AU3_API long WINAPI AU3_WinSetOnTop(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText, long nFlag);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinSetOnTop([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int Flags);
    
            //AU3_API long WINAPI AU3_WinSetState(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText, long nFlags);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinSetState([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int Flags);
    
            //AU3_API long WINAPI AU3_WinSetTitle(LPCWSTR szTitle,/*[in,defaultvalue("")]*/ LPCWSTR szText
            //, LPCWSTR szNewTitle);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinSetTitle([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, [MarshalAs(UnmanagedType.LPWStr)] string NewTitle);
    
            //AU3_API long WINAPI AU3_WinSetTrans(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText, long nTrans);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinSetTrans([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int Trans);
    
            //AU3_API long WINAPI AU3_WinWait(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWait([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int Timeout);
    
            //AU3_API long WINAPI AU3_WinWaitA(LPCSTR szTitle, /*[in,defaultvalue("")]*/LPCSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            //Not checked jcd
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWaitA([MarshalAs(UnmanagedType.LPStr)]string Title
            , [MarshalAs(UnmanagedType.LPStr)] string Text, int Timeout);
    
            //AU3_API long WINAPI AU3_WinWaitActive(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWaitActive([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int Timeout);
    
            //AU3_API long WINAPI AU3_WinWaitActiveA(LPCSTR szTitle, /*[in,defaultvalue("")]*/LPCSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            //Not checked jcd
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWaitActiveA([MarshalAs(UnmanagedType.LPStr)]string Title
            , [MarshalAs(UnmanagedType.LPStr)] string Text, int Timeout);
    
            //AU3_API long WINAPI AU3_WinWaitClose(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWaitClose([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int Timeout);
    
            //AU3_API long WINAPI AU3_WinWaitCloseA(LPCSTR szTitle, /*[in,defaultvalue("")]*/LPCSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            //Not checked jcd
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWaitCloseA([MarshalAs(UnmanagedType.LPStr)]string Title
            , [MarshalAs(UnmanagedType.LPStr)] string Text, int Timeout);
    
            //AU3_API long WINAPI AU3_WinWaitNotActive(LPCWSTR szTitle, /*[in,defaultvalue("")]*/LPCWSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWaitNotActive([MarshalAs(UnmanagedType.LPWStr)]string Title
            , [MarshalAs(UnmanagedType.LPWStr)] string Text, int Timeout);
    
            //AU3_API long WINAPI AU3_WinWaitNotActiveA(LPCSTR szTitle, /*[in,defaultvalue("")]*/LPCSTR szText
            //, /*[in,defaultvalue(0)]*/long nTimeout);
            //Not checked jcd
            [DllImport("AutoItX3.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static public extern int AU3_WinWaitNotActiveA([MarshalAs(UnmanagedType.LPStr)]string Title
            , [MarshalAs(UnmanagedType.LPStr)] string Text, int Timeout);
        }
    }
    
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Random rand = new Random();
    
                for (int i = 0; i < 10; i++)
                {
                    int x = rand.Next(1000);
                    int y = rand.Next(1000);
    
                    AutoItX3Declarations.AU3_MouseMove(x, y, 10);
    
                    //Moves mouse to location (x,y) with speed of 10 (zero is fastest)
    
                    AutoItX3Declarations.AU3_Sleep(1000);
                }
            }
        }
    

      

  • 相关阅读:
    CMS、G1收集器
    一文入门Redis
    一文解析TCP/UDP
    ubuntu官方源
    一、单体架构分析
    netty简介2
    netty简介
    安装vmware tool
    jdk1.8安装(转载)
    HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
  • 原文地址:https://www.cnblogs.com/mr-hu2009/p/11335935.html
Copyright © 2011-2022 走看看