task scheduler启动不了_Task Scheduler
启动 不了 Task scheduler
2023-06-13 09:14:44 时间
了解ITaskService对象
此对象需要依赖TaskshdWindows服务,如果此服务被关闭,那么此COM对象也将会失效。有关这个COM对象在MSDN里也多有提及,想看官方的在线连接,[点我吧]
注意,Task Scheduler 2.0仅仅可以在Xp以上的Windows系统内可以正常使用哦。
操作Task Scheduler 2.0的常见套路
对于TaskScheduler 2.0而言,开发包括了以下常见步骤,如下所示:
- 1.调用
CoInitialize()
来初始化COM,代码片段如下所示:
CoInitialize(NULL);
- 2.调用
CoInitializeSecurity()
来设置进程安全,避免被杀毒软件报毒 代码如下所示:
CoInitializeSecurity(
NULL,
-1,
NULL,
NULL,
RPC_C_AUTHN_LEVEL_PKT_PRIVACY,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL,
0,
NULL
);
- 3.使用
CoCreateInstance()
函数来初始化一个ITaskService
对象。代码片段如下所示:
ITaskService *m_pService=NULL;
CoCreateInstance(CLSID_TaskScheduler,
NULL,
CLSCTX_INPROC_SERVER,
IID_ITaskService,
(void ** )&m_pService);
- 4.在
Task Scheduler 2.0
之中,与1.0的不同之处就是需要通过ITaskService
对象里面的Connect()
来连接上对应的Windows服务程序。代码片段如下所示:
m_pService->Connect(_variant_t(), _variant_t(), _variant_t(), _variant_t());
- 5.调用
ITaskService
对象里面提供的各种操作方法,来执行相应的操作。如下图所示:
- 6.操作完成之后,调用
CoUninitialize()
来释放COM。当然在此之前,需要对各个COM对象,比如ITaskService等COM对象执行
Release()`函数进行内存释放,如果使用了智能指针来管理了此对象,那自然就可以偷懒了(^__^)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184017.html原文链接:https://javaforall.cn
相关文章
- 《笨开发学习操作系统》1启动
- 这样优化,0.059s启动一个SpringBoot项目!
- 搭载DALL-E2!微软AI设计神器Designer内测启动,Adobe的最强对手快来了
- ulimits不生效导致数据库启动失败和相关设置说明
- Elasticsearch启动后访问不了9200的解决方案
- linux启动过程解析
- Linux系统:启动困难之解(linux系统启动不了)
- Linux无法正常启动(linux开不了机)
- 解决Linux U盘启动失败的问题(linuxu盘启动不了)
- Linux虚拟机启动失败,求助!(linux虚拟机启动不了)
- 让MySQL重新开始:如何启动MySQL(怎么启动 mysql)
- 无法启动RedisWIN系统下遇到的问题(win启动不了redis)
- 如何轻松自动启动Redis服务(怎么自动启动redis库)
- 非正常现象启动Redis却无法关闭(启动redis后关闭不了)
- Redis节点启动失败如何解决(redis节点启动不了)
- mysql服务启动不了解决方案
- sqlserver启动不了,MSSQL18052错误:9003,严重度:20,状态:1.