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

本文介绍如何利用NetScheduleJobAdd函数在Windows系统中添加任务计划,通过示例代码展示了设置任务计划为每天22点21分运行notepad.exe的步骤。首先确保Task Scheduler服务已启动,然后定义AT_INFO结构体,设置运行时间和频率,最后调用NetScheduleJobAdd函数完成任务添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//必须启动系统的Task Scheduler服务 
#include <stdio.h> 
#include <windows.h> 
#include <lmcons.h> 
#include <lmat.h> 
#include <IOSTREAM> 
 
#pragma comment(lib,"NETAPI32.LIB") 
 
void Jobadd() 
{ 
    DWORD JobId, ret; 
    AT_INFO ai; 
    char *filepath; 
    long Len; 
    char RootPath[MAX_PATH]; 
    WCHAR szFilePath[256]; 
    GetSystemDirectory(RootPath, MAX_PATH); 
    filepath = new char[strlen(RootPath)+11]; 
    strcpy(filepath, RootPath); 
    strcat(filepath, "\\notepad.exe"); //完整路径 
    memset(&ai, 0, sizeof(ai)); 
    Len = MultiByteToWideChar(CP_ACP, 0, filepath, strlen(filepath), szFilePath, sizeof(szFilePath)); 
    szFilePath[Len] = '\0'; 
    ai.Command = szFilePath; 
    ai.DaysOfMonth = 0; 
    ai.DaysOfWeek = 0x7F; //7F等于二进制的7个1,就是每周的7天全部运行 
    ai.Flags = JOB_RUN_PERIODICALLY; 
    ai.JobTime = 22 * 60 * 60 * 1000 + 21 * 60 * 1000; //22点21分,这里是以毫秒为单位的,所以需要乘这些值 
    ret = NetScheduleJobAdd(NULL, LPBYTE(&ai), &JobId); 
    if ( ret == ERROR_SUCCESS ) 
        std::cout << " SUCCESS!!" << std::endl; 
    else 
        std::cout << "Error" << std::endl; 
 
} 
 
int main(int argc, char *argv[]) 
{ 
    Jobadd(); 
    return 0; 
} 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值