找回密码
 加入
搜索
查看: 2013|回复: 6

[AU3基础] 已解决 如何根据inputbox 输入启动时间,启动目标运行程序

[复制链接]
发表于 2020-8-7 15:07:16 | 显示全部楼层 |阅读模式
本帖最后由 itzyx 于 2020-8-9 12:39 编辑

Local $rt = InputBox("预约","请输入测试物品的启动时间")

#include <Date.au3>
#include <MsgBoxConstants.au3>

;定时功能主程序==============================================================
Local $iDateCalc = -1                                                                                                                                ;设定初值,进入循环和判断
While $iDateCalc < 0                                                                                                                                ;判断设定时间是否到达
   Local $iDateCalc = _DateDiff('n', "$rt", _NowCalc())                            ;获取当前时间,并计算当前时间与设定时间的差值
WEnd
Sleep(1000)
Run("C:\Program Files (x86)\?\?.exe")  ;到达设定时间点打开软件



请各位大佬,帮忙纠正一下,哪里有问题
发表于 2020-8-7 16:04:51 | 显示全部楼层
用WINDOWS任务计划。
 楼主| 发表于 2020-8-7 16:15:28 | 显示全部楼层
862228699 发表于 2020-8-7 16:04
用WINDOWS任务计划。

因为我才学没几天,不太懂怎么引用WINDOWS任务计划 ,能麻烦指定清楚一下吗?万分感谢!
发表于 2020-8-7 16:21:33 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2020-8-7 16:59:02 | 显示全部楼层

大佬你推荐的WINDOWS任务计划我看了一下确实可行,但是能不能通过编写脚本,更便捷的预订启动的时间, 上面写的脚本,时间设置固定值是可以运行的,但是设置成根据inputbox 输入的变量 $rt ,就不可行了,软件会立马启动,不会按照设置的时间启动。
发表于 2020-8-7 18:05:34 | 显示全部楼层
本帖最后由 afan 于 2020-8-7 18:25 编辑
#include <Date.au3>

Local $sTimes = InputBox('预约', '请输入测试物品的启动时间(时分秒)')
If @error Then Exit
Local $aTimes = StringRegExp($sTimes, '(\d\d?)\D+(\d\d?)\D+(\d\d?)', 1)        ;带分隔符3段时间
If @error Then
        $aTimes = StringRegExp($sTimes, '(\d\d)(\d\d)(\d\d)', 1)        ;不带分隔符6位数时间
        If @error Then Exit MsgBox(48, '', '时间格式错误')
EndIf
If $aTimes[2] = '' Then $aTimes[2] = '00'
$sTimes = StringFormat('%s/%s/%s %s:%s:%s', @YEAR, @MON, @MDAY, $aTimes[0], $aTimes[1], $aTimes[2])
Local $iDateCalc = _DateDiff('s', _NowCalc(), $sTimes) ;获取当前时间,并计算当前时间与设定时间的差值
Local $iTs = TimerInit()
If $iDateCalc > 10 Then Sleep(($iDateCalc - 10) * 1000)
Do
        Sleep(250)
Until TimerDiff($iTs) >= $iDateCalc * 1000
MsgBox(0, $sTimes, '时间到')
;~ Run('C:\Program Files (x86)\?\?.exe') ;到达设定时间点打开软件
 楼主| 发表于 2020-8-9 12:37:15 | 显示全部楼层

感谢大佬, 我写的问题找到了,是因为自定义的函数 加了双引号,不过你这个更完善,更好,厉害厉害
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 10:25 , Processed in 0.077090 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表