AutoItX,dmnet.dll模拟点击的使用

 

添加AutoItX3.Assembly.dll,AutoItX3.dll,dm.dll,dmnet.dll

 

using AutoIt;

using dmnet;

1、//AutoIt找到窗体中的控件,点击:

 IntPtr winHandle = AutoItX.WinGetHandle("[class:TFJStandardEditForm]");

                IntPtr controlHandle = AutoItX.ControlGetHandle(winHandle, "[class:TPanel;instance:2]");
                var baseLoc = AutoItX.WinGetPos(controlHandle);

                AutoItX.MouseClick(x: baseLoc.X + 110, y: baseLoc.Y + 12, numClicks: 1); //保存

 

   AutoItX.WinWaitActive("窗体title");

   AutoItX.Sleep(1000);

 

2、查看是否存在指定窗体

  /// <summary>
        /// Closes the team viewer.
        /// </summary>
        internal void CloseTeamViewer()
        {
            IntPtr winptr = AutoItX.WinGetHandle("发起会话");

            if (AutoItX.WinExists("发起会话") == 1) //存在发起会话窗体
            {
                AutoItX.WinActivate(winptr);    //激活窗体(鼠标定位该窗体)
                AutoItX.WinClose("发起会话");  //关闭窗体
                IntPtr conptr = AutoItX.ControlGetHandle(winptr, "[Class:Button;Instance:4]");    //查找控件
                AutoItX.ControlClick("发起会话", "", "[Class:Button;Instance:4]");    //点击控件(点击确定按钮)
            }
        }

 3、给指定控件赋值

 IntPtr inptrSearchPop = AutoItX.WinGetHandle("[Class:Tfrm_IntelligentSearchPop]");  //查找窗体句柄

IntPtr inptrEdit = AutoItX.ControlGetHandle(inptrSearchPop, "[Class:TEdit;Instance:1]");  //查找控件句柄

AutoItX.ControlSetText(inptrSearchPop, inptrEdit, mCompany);   //给控件赋值

AutoItX.Send(mCompany);  //给控件赋值

string company = AutoItX.ControlGetText(inptrSearchPop, inptrEdit);   //获取控件的text值

 

 

4、模拟鼠标移动
  /// <summary>
        /// 移动位置大于0为向下向右移动
        /// </summary>
        /// <param name="x">x轴左右移动</param>
        /// <param name="y">y轴移动次数</param>
        public static void RemoveStep(int x, int y)
        {
            if (y > 0)
            {
                AutoItX.Send("{DOWN " + y + "}");
            }
            else if (y < 0)
            {
                AutoItX.Send("{UP " + Math.Abs(y) + "}");
            }
            if (x > 0)
            {
                AutoItX.Send("{RIGHT " + x + "}");
            }
            else if (x < 0)
            {
                AutoItX.Send("{LEFT " + Math.Abs(-x) + "}");
            }
        }
 

5、模拟填写信息。

 JArray data = AutoHelperCommon.GetRowData(row.ToString(), report);
                            AutoItX.Send(data[col - 1].ToString());

                            AutoHelperCommon.Enter();

 

 

        /// <summary>
        /// Enter 几次
        /// </summary>
        /// <param name="num">The number.</param>
        public static void Enter(int num = 1)
        {
            if (num > 1)
            {
                AutoItX.Send("{ENTER " + num + "}");
            }
            else
            {
                AutoItX.Send("{ENTER}");
            }
        }
 
 

6、// dmnet找图片模拟点击,先将图片格式转化,找图片位置,模拟点击位置

  Dmsoft.ImageToBmp(picLocation + "smallzzsup.png", picLocation + "smallzzsup.bmp");
                int loca = Dmsoft.FindPic(startX, startY, endX, endY, picLocation + "smallzzsup.bmp", "000000", 0.8, 0, out var _x, out var _y);

                AutoItX.MouseClick(x: Convert.ToInt32(_x) + 10, y: Convert.ToInt32(_y) + 3, numClicks: 2); //打开小规模增值税

 

             

 

 

参考网址:https://www.autoitscript.com/autoit3/docs/

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值