• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

AutoIt3(au3)源码-实现某个程序/软件定时运行

AutoIT3 奇跡の海 2年前 (2017-09-23) 2047次浏览 已收录 0个评论 扫描二维码

AutoIt3(au3)源码-实现某个程序/软件定时运行

简介

不用windows的任务计划 如何实现定时某个软件运行

代码

#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=a.ico
#AutoIt3Wrapper_outfile=多功能定时重启配置工具.exe
#AutoIt3Wrapper_Res_Description=runTime 制作 snow
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Snow
#AutoIt3Wrapper_Res_Field=作者|Snow(雪花)
#AutoIt3Wrapper_Res_Field=作者QQ|68627139
#AutoIt3Wrapper_Res_Field=技术支持群|51366958 (迅闪高级技术交流群)
#AutoIt3Wrapper_Res_Field=版权|版权所有(C)1997-2008 ㊣Snow技术小组
#AutoIt3Wrapper_Res_Field=Snow技术小组|
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3> 
 
#Region ### START Koda GUI section ### Form=c:\documents and settings\administrator\桌面\form1.kxf
FileInstall("帮助说明.txt",@ScriptDir & "\帮助说明.txt",1)
Opt("GUIOnEventMode", 1) ;设置驱动模式
$Form1_1 = GUICreate("配置向导", 485, 493, 293, 154)
GUISetIcon(@ScriptDir & "\a.ico", 53)
GUISetBkColor(0x008080)
GUISetOnEvent($GUI_EVENT_CLOSE,"_form1")
 
$Button1 = GUICtrlCreateButton("每天定时重启", 56, 72, 105, 33, 0)
GUICtrlSetBkColor(-1, 0xFFFF00)
GUICtrlSetOnEvent($Button1,"_Button1")
 
$Button2 = GUICtrlCreateButton("清除每天定时重启的任务", 232, 72, 169, 33, 0)
GUICtrlSetBkColor(-1, 0x00FF00)
GUICtrlSetOnEvent($Button2,"_Button2")
 
$Button3 = GUICtrlCreateButton("以星期数重启", 56, 128, 105, 33, 0)
GUICtrlSetBkColor(-1, 0xFFFF00)
GUICtrlSetOnEvent($Button3,"_Button3")
 
$Button4 = GUICtrlCreateButton("清除以星期数重启的任务", 232, 128, 169, 33, 0)
GUICtrlSetBkColor(-1, 0x00FF00)
GUICtrlSetOnEvent($Button4,"_Button4")
 
$Button5 = GUICtrlCreateButton("具体日期重启", 56, 184, 105, 33, 0)
GUICtrlSetBkColor(-1, 0xFFFF00)
GUICtrlSetOnEvent($Button5,"_Button5")
 
$Button6 = GUICtrlCreateButton("清除具体日期重启任务", 232, 184, 169, 33, 0)
GUICtrlSetBkColor(-1, 0x00FF00)
GUICtrlSetOnEvent($Button6,"_Button6")
 
$Button10 = GUICtrlCreateButton("间隔时间重启", 56, 240, 105, 33, 0)
GUICtrlSetBkColor(-1, 0xFFFF00)
GUICtrlSetOnEvent($Button10,"_Button10")
 
$Button11 = GUICtrlCreateButton("清除间隔时间重启任务", 232, 240, 169, 33, 0)
GUICtrlSetBkColor(-1, 0x00FF00)
GUICtrlSetOnEvent($Button11,"_Button11")
 
$Button12 = GUICtrlCreateButton("系统自动登陆工具", 56, 312, 129, 33, 0)
GUICtrlSetColor(-1, 0xFF00FF)
GUICtrlSetOnEvent($Button12,"_Button12")
 
$Button7 = GUICtrlCreateButton("完成配置", 208, 312, 65, 33, 0)
GUICtrlSetColor(-1, 0xFF00FF)
GUICtrlSetOnEvent($Button7,"_Button7")
 
$Button8 = GUICtrlCreateButton("查看配置", 296, 312, 65, 33, 0)
GUICtrlSetColor(-1, 0xFF00FF)
GUICtrlSetOnEvent($Button8,"_Button8")
 
$Button9 = GUICtrlCreateButton("查看帮助", 384, 312, 65, 33, 0)
GUICtrlSetColor(-1, 0xFF00FF)
GUICtrlSetOnEvent($Button9,"_Button9")
 
;---------------下面不用处理-------------
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\log.gif", 32, 368, 169, 100, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Label1 = GUICtrlCreateLabel("请选择任务模式", 144, 16, 151, 24)
GUICtrlSetFont(-1, 15, 800, 0, "楷体_GB2312")
GUICtrlSetColor(-1, 0x00FFFF)
$Label2 = GUICtrlCreateLabel(" 雪花技术--值得关注 ", 232, 392, 176, 20)
GUICtrlSetFont(-1, 12, 800, 0, "楷体_GB2312")
GUICtrlSetColor(-1, 0x00FF00)
$Label3 = GUICtrlCreateLabel("Snow技术小组开发    业务QQ68627139", 224, 448, 219, 17)
GUICtrlSetColor(-1, 0xFFFF00)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;
Opt("TrayIconHide", 1)   ;0=显示, 1=隐藏托盘图标
Global $config,$title
$config = (@ScriptDir & "\config.ini")
$title = "设置向导"
 
While 1 ; 不做任何事
  Sleep(1000)  
WEnd
 
Func _form1() ;关闭主窗口
        Exit
EndFunc
 
Func _Button1() ;设置每天定时重启
        _runTime("everyday","每天重启")
EndFunc
 
Func _msgBox($function,$text) ;信息提示和循环。
        MsgBox(0+48,"提示",$text)
        Call ($function)
EndFunc
 
Func  _runTime($iniName,$iniVar) ;验证时间格式的正确性和写入配置
                $runTime = InputBox($title,"       请设定重启时间   "&@CRLF&@CRLF & "    格式24小时制 XX:XX",@HOUR&":"&@MIN,"",120,150)
If @error = 0 Then ; 如果用户按下确定键
        $time = StringSplit($runTime,":")
        If @error = 1 Then 
        _msgBox("_Button1",'请用英文状态下的冒号":"分隔开小时和分钟  ')
        ElseIf $time[0] > 2 Then 
        _msgBox("_Button1","格式错误,只能有一个冒号,请重新设置   ")
        ElseIf (Not StringIsDigit($time[1])) Or (Not StringIsDigit($time[2])) Then ;检查是否输入数字
        _msgBox("_Button1","只能输入数字,请重新设定  ")
        Elseif $time[1] > 23 Or $time[2] > 59 Then 
        _msgBox("_Button1","小时大于23或分钟大于59,请重新设置  ")
        ElseIf  (StringLen($time[1]) < 2 Or StringLen($time[2]) < 2) Or (StringLen($time[1]) > 2 Or StringLen($time[2]) > 2) Then 
        _msgBox("_Button1","时间格式为 XX:XX 请重新设定")
        Else
        IniWrite($config,$iniName,$iniVar,$runTime)
        EndIf
Else
EndIf
EndFunc
 
Func _Button2() ;清除每天定时重启的任务
        IniDelete($config,"everyday")
        _msgBox("","清除每天重启任务完成  ")
EndFunc
 
Func _Button3() ;设置以星期数重启
        $week = InputBox($title,"   请设定按星期数重启时间  "&@CRLF&@CRLF & "1-7 依次表示星期天到星期六",@WDAY,"",120,150)
If @error = 0 Then ; 如果用户按下确定键
        If (Not StringIsDigit($week)) Or (Not StringIsDigit($week)) Then 
        _msgBox("_Button3","只能输入数字,请重新设定  ")
        Elseif $week <= 0 Or $week >= 8 Then 
        _msgBox("_Button3","超出范围! 1-7 依次表示星期天到星期六 请重新设置  ")
        Else
        Dim $weekDay[8] 
        $weekDay[0] = ""
        $weekDay[1] = "星期日"
        $weekDay[2] = "星期一"
        $weekDay[3] = "星期二"
        $weekDay[4] = "星期三"
        $weekDay[5] = "星期四"
        $weekDay[6] = "星期五"
        $weekDay[7] = "星期六"
                If MsgBox(1+48,"提示","你选择了 " &$weekDay[$week]& " 重电脑是嘛?接下来设置时间  ") = 1 Then 
                _runTime("week",$weekDay[$week])
                Else
                Call ("_Button3")
                EndIf   
        EndIf   
Else
EndIf
EndFunc
 
Func _Button4() ;清除以星期数重启的任务
        IniDelete($config,"week")
        _msgBox("","清除所有的星期数重启任务完成  ")
EndFunc
 
Func _Button5() ;具体日期重启
        $yearDay = InputBox($title,"  请设定具体日期重启时间  "&@CRLF&@CRLF & "    时间格式: 年-月-日",_NowDate(),"",120,150)
If @error = 0 Then ; 如果用户按下确定键
        If _DateIsValid ( $yearDay ) Then ;确认日期是否合法。
                $yearDayVar = StringSplit($yearDay,"-")
                If  $yearDayVar[0] = 3  Then
                        If $yearDay < _NowDate() Then
                                MsgBox(1,"错误","你所输入的时间: " &$yearDay& " 是过去的日期,请重新设定! ")
                                Call ("_Button5")
                        ElseIf MsgBox(1+48,"提示","你选择了 " &$yearDay& " 重电脑是嘛?接下来设置时间  ") = 1 Then 
                        _runTime("yearDay",$yearDay)
                        Else
                        Call ("_Button5")
                        EndIf
                Else
                _msgBox("_Button5",'请用英文状态下的 " - " 把日期分隔开'  )
                EndIf
        Else
                _msgBox("_Button5"," 给定的日期不合法,请重新设定   ")
        EndIf
Else
EndIf
EndFunc
 
Func _Button6() ;清除具体日期重启任务
        IniDelete($config,"yearDay")
        _msgBox("","清除所有的具体日期重启任务完成  ")
EndFunc
 
Func _Button7() ;完成配置
        $configVar = IniReadSectionNames ($config)
If Not @error Then
        If Not ProcessExists("runTime.exe") Then
                If MsgBox(1+48,"提示","    配置已生成,是否须要马上运行?" &@CR&@CR& "你也可以稍候再运行主程序 runTime 执行任务  ") = 1 Then
                        Run (@ScriptDir &"\runTime.exe")
                        Exit
                Else
                        ToolTip(@CR&" * 雪花 * -----  看来是值得你花!  谢谢你的使用!", @DesktopWidth-500, @DesktopHeight-500,"Snow技术小组",0,2)
                        Sleep(2000)
                        Exit
                EndIf
        Else
                If MsgBox(1+48,"提示",@CR&"  配置已更新,是否须要重新运行?  " ) = 1 Then
                        ProcessClose("runTime.exe")
                        While 1
                        If Not ProcessExists("runTime.exe") Then 
                                Run (@ScriptDir &"\runTime.exe")
                                Exit
                        Else
                                ProcessClose("runTime.exe")
                        EndIf
                        Sleep(500)
                        WEnd
                EndIf
        EndIf
                        
Else 
        MsgBox(0+48,"    提示","现在的配置内容为空!!  " )
Exit
EndIf
EndFunc
 
Func _Button8() ;查看配置
        ShellExecute($config,@ScriptDir,@SW_MAXIMIZE)
EndFunc
 
Func _Button9() ;查看帮助
        ShellExecute(@ScriptDir & "\帮助说明.txt",@ScriptDir,@SW_MAXIMIZE)
EndFunc
 
Func _Button10() ;设定间隔时间
        $delayTime = InputBox($title,"    请设定间隔重启时间"&@CR&@CR&"      时间单位为:小时 ",'15',"",120,150)
        If @error = 0 Then ; 如果用户按下确定键
                If Not StringIsDigit ( $delayTime ) Then
                                _msgBox("_Button10","只能输入数字和整数 ,请重新设定  ")
                        ElseIf $delayTime <= 0 Then
                                _msgBox("_Button10","间隔时间不能为 0 请重新设定  ")
                        Else    
                                
                                IniWrite($config,"delay","间隔时间",$delayTime)
                        EndIf
        Else
        EndIf
EndFunc
 
Func _Button11();清除间隔时间重启任务
        IniDelete($config,"delay")
        _msgBox("","清除间隔时间重启任务完成  ")
EndFunc
 
Func _Button12();系统自动登陆工具
        If MsgBox(1+48,"提示","是否设置windows自动登陆系统  ") = 1 Then
        $localName = regread ("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultUserName") ;读用户名
        $name = inputbox ("自动登设置","你当前的用户名是: " &$localName&@CR&@CR&"请输入您要自动登陆的用户名   ",$localName,"",120,150)
                If  @error = 0 Then ; 如果按下在确定键
                        If MsgBox(1+48,"提示","如果你所写的用户并不存在,会造成无法进入系统" &@CR&@CR&"  如果你不清楚情况,请默认即可!是否确定? ") = 1 Then
                                         $passWord = inputbox ("自动登设置",@CR&@CR&"请输入您要自动登陆的密码:","","*",120,150)
                                         If @error = 0 Then ; 如果按下在确定键
                                                regwrite ("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultUserName","reg_sz",$name) ;写入用户名
                                                regwrite ("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultPassWord","reg_sz",$passWord) ;写入密码
                                                regwrite ("HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon","AutoAdminLogon","reg_sz","1")
                                                MsgBox(0+48,"提示","  设置完成,重启即可生效!  ")
                                         EndIf
                        Else
                        EndIf
                Else
                EndIf
        Else
        EndIf
EndFunc

版权声明:本站所有文章和资源使用CC BY-NC-SA 4.0协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->AutoIt3(au3)源码-实现某个程序/软件定时运行!在下边可以分享本文哦!
喜欢 (2)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址