100分不够,可以在加100分

ZHUIG 2003-07-24 04:50:15
怎么通过代码来添加计划任务?
...全文
15 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnhgj 2003-07-24
  • 打赏
  • 举报
回复
哦。。。顶!!
PhilexPei 2003-07-24
  • 打赏
  • 举报
回复
哈哈,收藏,可能有用:)
naughtyboy 2003-07-24
  • 打赏
  • 举报
回复
呵呵
是我搞错我
www.delphi-jedi.org
esu 2003-07-24
  • 打赏
  • 举报
回复
ftp://delphi-jedi.org/api/TaskScheduler.zip
esu 2003-07-24
  • 打赏
  • 举报
回复
http://www.delphi-jedi.org???????????
naughtyboy 2003-07-24
  • 打赏
  • 举报
回复
另外
我刚刚从www.delphi-jedi.com上回来
上面已经TaskSchedule解释到了pas单元中
你可以去下载
然后就可以直接用像NetScheduleJobAdd等操作计划任务的API函数了
naughtyboy 2003-07-24
  • 打赏
  • 举报
回复
这是以前hubdog调试通过的一段程序
借花献佛了

unit insjob;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TAT_INFO = record
JobTime: DWord;
DaysOfMonth: DWord;
DaysOfWeek: UCHAR;
Flags: UCHAR;
Command: PWideChar;
end;

PAT_INFO = ^TAT_INFO;
NET_API_STATUS = LongInt;

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

function NetScheduleJobAdd(ServerName: PWideChar; Buffer: PAT_INFO; var JobID: PDWord): NET_API_STATUS;stdcall;

var
Form1: TForm1;

implementation
{$R *.DFM}
function NetScheduleJobAdd; external 'netapi32.dll' name 'NetScheduleJobAdd';

procedure TForm1.Button1Click(Sender: TObject);
var
ATInfo:PAT_Info;
jobid:PDword;
begin
getmem(atinfo,sizeof(TAt_info));
getmem(jobid,sizeof(dword));
atinfo^.jobtime:=3*60*60*1000+15*60*1000;//miliseconds from midnight to 3:15
atinfo^.DaysOfMonth:=4294967295;
atinfo^.DaysOfWeek:=255;
atinfo^.command:='c:\showok.exe';
atinfo^.flags:=8;


if NetScheduleJobAdd(nil,atinfo,jobid)<>2 then
showmessage('ok');
freemem(jobid);
freemem(atinfo);
end;

end.
ZHUIG 2003-07-24
  • 打赏
  • 举报
回复
现在有些人,哎,连计划任务都不知道。。。
esu 2003-07-24
  • 打赏
  • 举报
回复
有api可以用
type
TAT_INFO = record
JobTime: DWord;
DaysOfMonth: DWord;
DaysOfWeek: UCHAR;
Flags: UCHAR;
Command: PWideChar;
end;

PAT_INFO = ^TAT_INFO;
NET_API_STATUS = LongInt;
function NetScheduleJobAdd(ServerName: PWideChar; Buffer: PAT_INFO; var JobID: LongInt): NET_API_STATUS; external 'netapi32.dll' name 'NetScheduleJobAdd';


Parameters

Servername

Pointer to a Unicode string containing the name of the remote server on which the function is to execute. A NULL pointer or string specifies the local computer.

Buffer

Pointer to a buffer containing an AT_INFO structure describing the job to be submitted.

JobId

Pointer to a job identifier for a newly submitted job. This entry is valid only if the function returns successfully.

AT_INFO:
Members

JobTime

Time of day at which a job is scheduled to run. Time is a local time at a computer on which the Schedule service is running. Time is measured from midnight and is expressed in milliseconds.

DaysOfMonth

Bitmask for the days of the month on which a job is scheduled to run. The bitmask is NULL if a job was scheduled to run only once at the first occurrence of JobTime. For each bit that is set in the bitmask a job will run at JobTime on a corresponding day of the month. Bit 0 corresponds to the first day of the month, and so on.

DaysOfWeek

Bitmask for the days of the week on which the job is scheduled to run. The bitmask is NULL if a job was scheduled to run only once at the first occurrence of JobTime. For each bit that is set in the bitmask a job will run at JobTime on a corresponding day of the week. Bit 0 corresponds to Monday (first day of the week), and so on.

Flags

Bitmask describing job properties. For job submission (NetScheduleJobAdd), the possible values are:

JOB_RUN_PERIODICALLY

If this flag bit is set, the job runs on every day for which corresponding bits in DaysOfMonth or DaysOfWeek are set. If this flag bit is clear, then job runs only once for each bit that was set in DaysOfMonth or DaysOfWeek at the time of job submission.

JOB_ADD_CURRENT_DATE

When this flag bit is set, the job will also execute at the first occurrence of JobTime at the computer to which the job is submitted. In other words, setting this flag bit is equivalent to setting the corresponding day bit in the DaysOfMonth bitmask.

For job information retrieval (NetScheduleJobEnum and NetScheduleJobGetInfo), possible values are:

JOB_RUN_PERIODICALLY

This flag bit is equal to the original value of this flag bit when a job was submitted.

JOB_EXEC_ERROR

This flag bit is set whenever Schedule service failed to successfully execute this job the last time it was supposed to run.

JOB_RUNS_TODAY

This flag bit is set if JobId is larger than the current time of day at the computer at which this job is queued.

Command

Pointer to a Unicode string that contains the name of the command, batch program, or binary file to execute.
zhang21cnboy 2003-07-24
  • 打赏
  • 举报
回复
难道你没有用过windows?

计划任务都不知道?

zhang21cnboy 2003-07-24
  • 打赏
  • 举报
回复
呵呵,欧没有研究过!

ZHUIG 2003-07-24
  • 打赏
  • 举报
回复
不知道计划任务是什么吗?敢问你是做什么的?
npu125 2003-07-24
  • 打赏
  • 举报
回复
什麽计划任务?数据库的东西。。。。。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧