模拟鼠标移动

{$I 输入模板.run}
鼠标移动(窗口, X, Y)

{$I 帮助信息.run}

{$I 参数定义.run}
窗口:HWND
X:整型
Y:整型
{$I 返回定义.run}
返回:字符串
{$I 函数主体.run}

// 鼠标位置和目标位置的距离, 相对起始位置为目标窗口原点
// 计算方向 = (目标位置 - 鼠标位置) / abs(目标位置 - 鼠标位置)

窗口 = 获取鼠标窗口()      // 用于调试
//窗口 = 等待窗口(进程,['WINDOWSFORMS10.WINDOW.8.APP'], ['招商证券客户关系管理系统'],5)
//激活窗口(窗口)
sleep(3000)

锁定键盘(是)
try
  获取鼠标窗口位置(窗口, X0, Y0) 
  for I = 0 to 9999
  [
    dx = GetRandom(3)
    if (dx = 0)
    [
      dx = 1
    ]   
    dy = GetRandom(3)
    if (dy = 0)
    [
      dy = 1
    ] 
    if (abs(X-X0) < 3) and (abs(Y-Y0) < 3)
    [ 
      break
    ]
    if (abs(X-X0) > 2)
    [
      ax = ceil((X - X0) / abs(X - X0))  
      X0 = ax * dx + X0 
    ]
    if (abs(Y-Y0) > 2)
    [                                          
      ay = ceil((Y - Y0) / abs(Y - Y0))
      Y0 = ay * dy + Y0
    ]
    trace(format('X0: %d, ax: %d, dx: %d, Y0: %d, ay: %d, dy: %d', [X0, ax, dx, Y0, ay, dy]))
    软件鼠标移动(窗口, X0, Y0)
    sleep(2)
  ]  
except
  信息 = 获取异常信息(ExceptionType, ExceptionParam)
  返回 = 设置指标('严重', 信息, '')
  trace(返回)
  Exit
  
finally
  锁定键盘(否)  

end  

返回 = 设置指标('正常', '', '')
Trace(返回)
{$I 调试开始.run}
调用组件(0, -50, -50)
{$I 调试结束.run}
上一篇:matplotlib Bbox类


下一篇:数字电路:数据选择器与译码器