0

我已经编写了一个 python 脚本,并希望使用任务计划程序让它每天在设定的时间段内运行。在创建此任务之前,我在注销时运行程序的任务计划程序没有任何问题。

如果我选择“仅在用户登录时运行”,我的脚本将按预期运行,并获得所需的结果并且没有错误代码 (0x0)。

如果我用“以最高权限运行”选择“无论用户是否登录都运行”,然后让它过夜或注销以测试它,它不会做任何事情并且错误代码为 0x1。

我有“启动程序”的操作,详细信息如下:

程序/脚本:C:\Python27\python2.7.exe 添加参数:“C:\Users\me\Desktop\test.py”

我认为这与注销时使用 python 的权限有关,但我无法弄清楚这一点。想知道是否有人对此有建议或经验。

这是在 Windows 7 上(仅供参考)

谢谢,JP

4

3 回答 3

2

我想我已经找到了解决这个问题的方法。我的脚本是用来制作powerpoint幻灯片的,需要打开MS PPT。

我偶然发现了另一个论坛的帖子,其中包含 MS 对此政策的链接。它基本上归结为以下几点:

“微软目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化,因为 Office 可能表现出不稳定的行为和/或在此环境中运行 Office 时出现死锁。

当使用“无论用户是否登录时运行”选项运行计划任务时,从计划任务自动化 PowerPoint 属于不受支持的方案。但是,将它与“仅在用户登录时运行”选项一起使用属于受支持的类别。”

这里

于 2013-03-06T16:56:28.543 回答
0

我会尝试使用不在您的用户目录中的脚本

于 2013-03-05T22:15:48.603 回答
-1

我有通过名为 p3icli 的 C++ 应用程序(可在 sourceforge 上获得)在任务计划程序下支持 PowerPoint 自动化的经验。这是我成功使用的方法:

1) 添加一个命令行 (-T) 开关,指示 p3icli 将在任务计划程序下运行。

2) 命令行开关强制 p3icli 使用CreateProcess()启动 powerpnt.exe 的实例,然后等待 X 毫秒以使该实例稳定。

3) X 毫秒后,p3icli 连接到在步骤 2 中创建的正在运行的 PPT 实例并处理自动化命令。

我猜想 Python 也可以使用类似的方法。

任务计划程序兼容性很容易成为我添加到 p3icli 的最麻烦的功能。例如,通过更改活动窗口来操作多个演示文稿根本不起作用。而且我相信您已经发现,调试问题一点也不好玩。

注意:您的 python 解决方案必须包含强制 PowerPoint 在您的 python 脚本完成时无条件关闭的代码(以 python 崩溃为模)。否则,孤立的 PowerPoint 实例将出现在任务管理器中。

单击链接以从 p3icli的角度了解有关任务计划程序的一些想法。

于 2017-01-15T04:12:21.673 回答