以下是一个C++小程序,默认一日(也可指定周期)执行一次程序exam.exe
你可以稍加修改,改成指定时间执行
#include "stdafx.h"
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
DWORD dwTime;
int hour,min,sec,i;
SYSTEMTIME systime;
GetLocalTime(&systime);
hour=systime.wHour;
min=systime.wMinute;
sec=systime.wSecond;
if(argc==1)
dwTime=24*60*60*1000;
else
dwTime=atoi(argv[1])*60*1000;
for (i=0;i<argc;i++) printf("%s\n",argv[i]); while(1){
if ((hour<19) && (hour>=7))
{printf("Begin execute program \n\n");
GetLocalTime(&systime);
hour=systime.wHour;
min=systime.wMinute;
sec=systime.wSecond;
WinExec("exam.exe", SW_MINIMIZE);
printf("time: %d:%d:%d\n",hour,min,sec);
printf("\end program\n\n");}
Sleep(dwTime);
GetLocalTime(&systime);
hour=systime.wHour;
}
return 0;
}
你可以稍加修改,改成指定时间执行
#include "stdafx.h"
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
DWORD dwTime;
int hour,min,sec,i;
SYSTEMTIME systime;
GetLocalTime(&systime);
hour=systime.wHour;
min=systime.wMinute;
sec=systime.wSecond;
if(argc==1)
dwTime=24*60*60*1000;
else
dwTime=atoi(argv[1])*60*1000;
for (i=0;i<argc;i++) printf("%s\n",argv[i]); while(1){
if ((hour<19) && (hour>=7))
{printf("Begin execute program \n\n");
GetLocalTime(&systime);
hour=systime.wHour;
min=systime.wMinute;
sec=systime.wSecond;
WinExec("exam.exe", SW_MINIMIZE);
printf("time: %d:%d:%d\n",hour,min,sec);
printf("\end program\n\n");}
Sleep(dwTime);
GetLocalTime(&systime);
hour=systime.wHour;
}
return 0;
}
你的例子是一个exe程序,但COM+组件虽然是我自己写的,却是由操作系统来管理的,所以你的方法可能很难实现