gpt4 book ai didi

delphi - 如何以编程方式安排任务

转载 作者:行者123 更新时间:2023-12-03 14:52:44 30 4
gpt4 key购买 nike

如何使用 delphi 7 像 Google updater 一样安排任务?
我没有使用注册表,因为它被卡巴斯基防病毒软件检测为误报。
我在注册表中作为启动项添加的任何内容都会被检测为特洛伊木马,因此我决定使用任务计划

最佳答案

下面的代码显示了如何删除和创建将在系统启动时以系统权限运行应用程序的任务。它使用以下命令行:

但是,自 Windows Vista 以来,任务计划程序支持强制创建任务,我不会使用它来向后兼容 Windows XP,因为 Windows XP 中不存在此标志。因此,下面的示例尝试删除任务(如果已存在),然后创建新任务。

它执行这些命令:

schtasks /delete /f /tn "myjob"
schtasks /create /tn "myjob" /tr "C:\Application.exe" /sc ONSTART /ru "System"

/delete - delete the task
/f - suppress the confirmation
/create - create task parameter
/tn - unique name of the task
/tr - file name of an executable file
/sc - schedule type, ONSTART - run at startup
/ru - run task under permissions of the specified user

这是代码:

uses
ShellAPI;

procedure ScheduleRunAtStartup(const ATaskName: string; const AFileName: string;
const AUserAccount: string);
begin
ShellExecute(0, nil, 'schtasks', PChar('/delete /f /tn "' + ATaskName + '"'),
nil, SW_HIDE);
ShellExecute(0, nil, 'schtasks', PChar('/create /tn "' + ATaskName + '" ' +
'/tr "' + AFileName + '" /sc ONSTART /ru "' + AUserAccount + '"'),
nil, SW_HIDE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ScheduleRunAtStartup('myjob', 'C:\Application.exe', 'System');
end;

关于delphi - 如何以编程方式安排任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8700709/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com