此对象需要依赖TaskshdWindows服务,如果此服务被关闭,那么此COM对象也将会失效。有关这个COM对象在MSDN里也多有提及,想看官方的在线连接,[点我吧]
注意,Task Scheduler 2.0仅仅可以在Xp以上的Windows系统内可以正常使用哦。
对于TaskScheduler 2.0而言,开发包括了以下常见步骤,如下所示:
CoInitialize()
来初始化COM,代码片段如下所示: CoInitialize(NULL);
CoInitializeSecurity()
来设置进程安全,避免被杀毒软件报毒
代码如下所示: CoInitializeSecurity(
NULL,
-1,
NULL,
NULL,
RPC_C_AUTHN_LEVEL_PKT_PRIVACY,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL,
0,
NULL
);
CoCreateInstance()
函数来初始化一个ITaskService
对象。代码片段如下所示: ITaskService *m_pService=NULL;
CoCreateInstance(CLSID_TaskScheduler,
NULL,
CLSCTX_INPROC_SERVER,
IID_ITaskService,
(void ** )&m_pService);
Task Scheduler 2.0
之中,与1.0的不同之处就是需要通过ITaskService
对象里面的Connect()
来连接上对应的Windows服务程序。代码片段如下所示: m_pService->Connect(_variant_t(), _variant_t(), _variant_t(), _variant_t());
ITaskService
对象里面提供的各种操作方法,来执行相应的操作。如下图所示:
CoUninitialize()
来释放COM。当然在此之前,需要对各个COM对象,比如ITaskService等COM对象执行
Release()`函数进行内存释放,如果使用了智能指针来管理了此对象,那自然就可以偷懒了(^__^)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184017.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有