AutoIt 脚本可以在未登录时作为计划任务运行吗?
Posted
技术标签:
【中文标题】AutoIt 脚本可以在未登录时作为计划任务运行吗?【英文标题】:Can AutoIt scripts run as a scheduled task while not logged in? 【发布时间】:2011-02-17 06:52:18 【问题描述】:我正在使用 Ruby/WATIR/AutoIt 通过任务计划程序自动执行一项任务,只要我登录该任务计划程序就可以正常运行,但是一旦我的帐户被锁定或我注销,脚本就会停止运行。
当我重新登录时,AutoIt 应该在此处处理文件下载对话框(通过单击保存,然后输入文件名并再次单击保存)。
以下代码在我登录时有效。AutoIt 应该在我未登录时有效吗?还有其他方法可以实现吗?
prompt_message = "Do you want to save this file, or find a program online to open it?"
window_title = "File Download"
save_dialog = WIN32OLE.new("AutoItX3.Control")
sleep 1
save_dialog_obtained = save_dialog.WinWaitActive(window_title,prompt_message, 25)
save_dialog.ControlFocus(window_title, prompt_message, "&Save")
sleep 1
save_dialog.Send("S")
save_dialog.ControlClick(window_title, prompt_message, "&Save")
save_dialog.WinSetTitle(window_title, prompt_message, "This is ForTesting" )
saveas_dialog_obtained = save_dialog.WinWait("Save As", "Save&in", 5)
sleep 1
path = fileName
puts " Edit the file path"
save_dialog.ControlSend("Save As", "", "Edit1",path)
sleep 4
puts " Save the file"
save_dialog.ControlClick("Save As", "Save &in", "&Save")
save_fileAlreadyExists = save_dialog.Send("Y")
【问题讨论】:
【参考方案1】:发送击键的 AutoIt 脚本只有在有人登录并且桌面解锁时才能工作。
为了进一步澄清,任何发送击键的程序只有在有人登录并且桌面解锁时才能工作。
【讨论】:
【参考方案2】:当未登录时,Windows 会激活另一个窗口,因此您无法执行任何与窗口相关的操作。但控制命令可能仍然有效。
Related.
【讨论】:
以上是关于AutoIt 脚本可以在未登录时作为计划任务运行吗?的主要内容,如果未能解决你的问题,请参考以下文章