IScheduledWorkItem::SetFlags 方法 (mstask.h)
[[此 API 可能在操作系统或产品的后续版本中被更改或不可用。 请改用 任务计划程序 2.0 接口 。] ]
设置用于修改任何类型的 工作项行为的标志。
语法
HRESULT SetFlags(
DWORD dwFlags
);
参数
dwFlags
一个 值,该值指定以下一个或多个标志的组合:
TASK_FLAG_INTERACTIVE
将此标志Windows NT AT 服务作业转换为工作项时使用。 Windows NT AT 服务作业是指 At.exe,这是用于为Windows NT计划服务创建作业的Windows NT命令行实用工具。 任务计划程序服务取代了计划服务,并与该服务向后兼容。 在 Windows NT/Windows 2000 上安装任务计划程序时(例如,如果安装 Internet Explorer 4.0 或升级到 Windows 2000),则会发生转换。 在安装过程中,任务计划程序安装代码在注册表中搜索为 AT 服务创建的作业,并创建将完成相同操作的工作项。
对于此类转换后的作业,如果工作项要显示给用户,则会设置交互式标志。 如果未设置此标志,则“任务”文件夹中不会显示任何工作项,在执行工作项时,不会向用户显示与工作项关联的用户界面。
TASK_FLAG_DELETE_WHEN_DONE
当不再有计划的运行时间时,将删除工作项。
TASK_FLAG_DISABLED
已禁用工作项。 这对于暂时阻止工作项在计划时间运行 () 非常有用。
TASK_FLAG_HIDDEN
创建的工作项将被隐藏。
TASK_FLAG_RUN_ONLY_IF_LOGGED_ON
仅当 IScheduledWorkItem::SetAccountInformation 中指定的用户以交互方式登录时,工作项才会运行。 此标志对设置为在本地帐户中运行的工作项没有影响。
TASK_FLAG_START_ONLY_IF_IDLE
仅当计算机在计划的开始时间未使用时,才会开始工作项。
TASK_FLAG_SYSTEM_REQUIRED
如果系统使用电池电源运行,则工作项会导致系统恢复或唤醒。 此标志仅在支持恢复计时器的系统上受支持。
TASK_FLAG_KILL_ON_IDLE_END
如果计算机在工作项运行时进行空闲到非空闲转换,则工作项将终止。 在 IdleWait 触发器的时间过去且没有用户输入之前,计算机不会被视为空闲状态。 有关空闲触发器的信息,请参阅 空闲触发器。
TASK_FLAG_RESTART_ON_IDLE_RESUME
如果计算机在所有工作项的 task_triggers 过去之前进行非空闲到空闲转换,则工作项会再次启动。 (将此标志与 TASK_FLAG_KILL_ON_IDLE_END.) 结合使用
TASK_FLAG_DONT_START_IF_ON_BATTERIES
如果其目标计算机使用电池电源运行,则工作项不会启动。
TASK_FLAG_KILL_IF_GOING_ON_BATTERIES
工作项结束,如果工作项的目标计算机切换到电池电源,关联的应用程序将退出。
TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET
仅当当前存在有效的 Internet 连接时,工作项才会运行。
返回值
SetFlags 方法返回以下值之一。
返回代码 | 说明 |
---|---|
|
操作成功。 |
|
参数无效。 |
|
内存不足。 |
注解
程序必须在调用 SetFlags 后调用 IPersistFile::Save 方法以更新标志。
此方法用于设置任何类型的计划工作项使用的这些标志。 相比之下, ITask::SetTaskFlags 仅用于设置计划任务使用的标志。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mstask.h |
Library | Mstask.lib |
DLL | Mstask.dll |
可再发行组件 | Windows NT 4.0 和 Windows 95 上的 Internet Explorer 4.0 或更高版本 |