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 脚本可以在未登录时作为计划任务运行吗?的主要内容,如果未能解决你的问题,请参考以下文章

将脚本作为计划任务运行时出现“找不到路径”

作为计划任务运行时,Powershell 脚本无法访问文件

如何使用任务计划程序运行 Cisco AnyConnect

任务计划程序 - 在运行未登录的任务时访问非本地驱动器

SQL 维护计划在未配置邮件时发送邮件

作为计划任务运行 Visual Basic 脚本询问我要如何打开文件