NetScheduleJobAdd函数添加任务计划的方法

//必须启动系统的Task Scheduler服务 

[cpp]  view plain copy
  1. #include "stdafx.h"  
  2. #include <stdio.h>  
  3. #include <windows.h>  
  4. #include <lmcons.h>  
  5. #include <lmat.h>  
  6. #include <IOSTREAM>  
  7.   
  8. #pragma comment(lib,"NETAPI32.LIB")  
  9.   
  10. void Jobadd() {  
  11.     DWORD JobId, ret;  
  12.     AT_INFO ai;  
  13.     char *filepath;  
  14.     long Len;  
  15.     char RootPath[MAX_PATH];  
  16.     WCHAR szFilePath[256];  
  17.     GetSystemDirectory(RootPath, MAX_PATH);  
  18.     filepath = new char[strlen(RootPath) + 11];  
  19.     strcpy(filepath, RootPath);  
  20.     strcat(filepath, "\\notepad.exe"); //完整路径  
  21.     memset(&ai, 0, sizeof(ai));  
  22.     Len = MultiByteToWideChar(CP_ACP, 0, filepath, strlen(filepath), szFilePath, sizeof(szFilePath));  
  23.     szFilePath[Len] = '\0';  
  24.     ai.Command = szFilePath;  
  25.     ai.DaysOfMonth = 0;  
  26.     ai.DaysOfWeek = 0x7F; //7F等于二进制的7个1,就是每周的7天全部运行  
  27.     ai.Flags = JOB_RUN_PERIODICALLY;  
  28.     ai.JobTime = 22 * 60 * 60 * 1000 + 21 * 60 * 1000; //22点21分,这里是以毫秒为单位的,所以需要乘这些值  
  29.     ret = NetScheduleJobAdd(NULL, LPBYTE(&ai), &JobId);  
  30.     if (ret == ERROR_SUCCESS)  
  31.         std::cout << " SUCCESS!!" << std::endl;  
  32.     else  
  33.         std::cout << "Error" << std::endl;  
  34.   
  35. }  
  36.   
  37. int main(int argc, char *argv[]) {  
  38.     Jobadd();  
  39.     return 0;  
  40. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值