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 方法返回以下值之一。

返回代码 说明
S_OK
操作成功。
E_INVALIDARG
参数无效。
E_OUTOFMEMORY
内存不足。

注解

程序必须在调用 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 或更高版本

另请参阅

IScheduledWorkItem

IScheduledWorkItem::GetFlags

IScheduledWorkItem::SetAccountInformation