zoukankan      html  css  js  c++  java
  • [au3]批量输入号码程序

    批量输入号码程序

    这个文件可以随时产生一个剪贴板文字的文本文件,以供其他程序读取。

    这个程序修改了许多次了,主要是针对网络延迟的问题。

    最终找到了解决方案:探测输入的界面的反馈信息,也就是反馈的颜色。当输入完成以后界面恢复到正常,再开始输入另外一个号码。

    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")
    
    AutoItSetOption("WinTitleMatchMode", 2)  ;是为了调用ie状态栏判断
    #include<File.au3>
    $var=ClipGet()
    
    ;~ 下面是针对回收塑料箱里面的中文,进行回车处理
    ;~ $var_cn=StringRegExp($var, 'D', 1) ;选出中文
    ;$var1=StringReplace($var,$var_cn,@CR )
    ;~ MsgBox(16,12121,$var_cn)
    $text = StringReplace($var,"",@CR )  ;如果有逗号换成换行
    $text = StringReplace($text,",",@CR )  ;如果有逗号换成换行
    $txt="D:剪贴板.txt"
    _FileCreate($txt)
    FileWrite($txt,$text)
    
    ;以下是逐行输入文本的代码,与read一样
    $cele=MsgBox(262145,"注意","请将光标放在需要输入号码的地方,按确定后3秒钟开始自动输入!")
    if 2=$cele Then
            Exit
            EndIf
    ToolTip("如果错误出现的太多,请重新登陆系统。中断输入请按 pause", 0, 0,"小提示",1,4)
    Sleep(3000)
    
    
    ;这里得到当前鼠标的正常状态的颜色,以便不正常的时候停止等待~
    ToolTip("请将鼠标移动到检测部位,就是繁忙时候会变颜色的地方", 0, 0,"小提示",1,4)
    $pos = MouseGetPos()
    $var0= PixelGetColor($pos[0],$pos[1])
    
    sleep(1500)
    
    
    #include <IE.au3>
    
    $oIE = WinGetTitle ("")
    $file = FileOpen($txt,0)
    ; Read in 1 character at a time until the EOF is reached
    While 1
        $line = FileReadLine($file)
        If @error = -1 Then ExitLoop
        ;MsgBox(0, "Line read:", $line)
            send($line,1)
            send("{ENTER}")
     Sleep(100)     ;121212-50
    
      ; _IELoadWait ($oIE,50,10000)
    
     ;试图用ie的地址栏文本判断是否繁忙,平时的时候是“完毕”  ;还需要判断是不是有新的信息跳出来,(通过判断原来的窗口死活)300
    
    ;通过检查原来的ie界面时候变灰,来判断新是否有新窗口跳出
    DO
    
    Sleep(200)  ;等待窗口出现
    $var = PixelGetColor($pos[0],$pos[1]);获取当前颜色
    if $var0<>$var then
            ;Sleep(150)
            EndIf
    
    
    ;~下面即使出现错误也发送回车 
    ;~ #cs
    If  0=WinActive($oIE)   then   ;差错2016
                    Sleep(150)
            send("{ENTER}")
            EndIf
    ;~              #ce
    
    until  1=WinActive($oIE) and $var0=$var
    
    Send("{BS 14}")   ;在输入以前清空内容,向文本框发出12次回格命令
    Wend
    FileClose($file)
    
    
    
    
    
    Func TogglePause()
        $Paused = NOT $Paused
            ClipPut($line) ;输出当前错误的号码 key
        While $Paused
            sleep(100)
            ToolTip('脚本已被“暂停”',0,0)
        WEnd
        ToolTip("")
    EndFunc
    
    Func Terminate()
        Exit 0
    EndFunc
    
    
    MsgBox(48,"通知","你的输入已经完成!")

     这个程序如何使用呢?

    看看程序里面的说明,就应该知道大概了。

    首先,我们复制需要输入的号码,可以几个或者是表格的一列号码。

    然后启动这个程序,把鼠标放在需要输入的文本框里。

    程序跳入号码,然后等待反馈。

    继续第二个号码。直到输入全部完成。

    希望上面的代码能够让同好们借鉴到,用于自己的编程中。

    download

    IE浏览器批量输入操作共享版

    windows批量输入操作共享版

     

    需要更多的定制脚本,请联系淘宝:维尼熊的百宝箱
  • 相关阅读:
    【NOI2015】品酒大会 SAM
    4566: [Haoi2016]找相同字符 SAM
    3709: [PA2014]Bohater 贪心
    1925: [Sdoi2010]地精部落 dp, 抖动子序列
    4205: 卡牌配对 最大流+建图技巧
    留言板
    self-introduction
    最近比赛
    STOI补番队胡策
    BZOJ 3503: [Cqoi2014]和谐矩阵( 高斯消元 )
  • 原文地址:https://www.cnblogs.com/wnxdbbx/p/7106007.html
Copyright © 2011-2022 走看看