开机自启动有很多种方式 : 注册表实现, 任务计划等等;
这里只介绍用com接口实现对任务计划(win32的API :NetScheduleJobAdd在Win7 上没有效果)
我们用到的是ITaskService interface [Task Scheduler] 接口的一些相关函数,因此对系统有一定的要求:
Requirements
Client : Requires Windows Vista.
Server :Requires Windows Server 2008.
Header :Declared in Taskschd.h.
Library : Use Taskschd.lib.
DLL :Requires Taskschd.dll.
下面开始介绍如何实现对任务计划的一些操作:
首先创建一个名为test的任务计划
然后创建一个win32的控制台程序添加下面两个文件,然后再main函数中实现相关的测试。代码如下:
1. TaskScheduleFun.h
#pragma once
#include <stdio.h>
#include <tchar.h>
// com include
#include <comdef.h>
#include <comutil.h>
// task header include
#include <taskschd.h>
// task lib
#pragma comment(lib, "taskschd.lib")
#pragma comment(lib, "comsupp.lib")
#define _WIN32_DCOM
#define MAX_XMLREAD MAX_PATH*10
// Attentions
// Provide by Vivian
// For all functions as following, you must do TaskScheduleCo