我喜欢蓝天,也喜欢雨天。
分类: WINDOWS
2013-12-04 16:56:41
“任务计划”在每次启动 Windows XP 的时候启动并在后台运行。
使用“任务计划”可以完成以下任务:
1.计划让任务在每天、每星期、每月或某些时刻(例如系统启动时)运行。
2.更改任务的计划。
3.停止计划的任务。
4.自定义任务在计划时刻的运行方式。
三.计划任务的使用方法
(1)在windows下添加任务计划
接下来看一看在windows下怎么创建计划任务。
要打开“任务计划”,单击“开始→所有程序→附件→系统工具”,然后单击“任务计划程序”。
出现“任务计划程序”对话框。
可以创建一个新任务,点击右侧“操作”下的“创建基本任务”,出现下面对话框:
名称取“Task”,描述写“test”,这个可以自己定义。点击下一步按钮。
可以看到有许多选项。选择任务的开始时间。可以是周期性的,也可以是一次。这次选择“一次”。下一步:
出现设置时间对话框。设定一个时间。这次仅为了写一个小例子,所以我定了一个大概2分钟后的时间。这个时间也是随意定义的未来的某个时间。下一步:
选择任务执行的操作。我选择“显示消息”。下一步:
设置弹出对话框的标题及内容。下一步:
点击完成按钮,接下来就是见证奇迹的时刻,哈哈。。。
另外,你可以选中 当单机“完成”时,打开此任务属性的对话框。当点击完成按钮后,弹出下面对话框,你可以对此任务进行一些设置。
当到达设定的时间点时,会弹出一个对话框。如下图。
另外,注意一点,任务名不能重复,否则不能创建成功。
另外,还可以利用计划任务定时运行一些程序等。
合理利用windows的计划任务可以大大方便你的生活。比如,你与同学有个约会,而你担心自己太专注于游戏而忘记,(如果是与女朋友约会,你就惨啦,哈哈。。。)。这时,你就可以添加一个计划任务,提醒你,你还有个约会。
(2)编程实现任务计划
计划任务命令:http://blog.sina.com.cn/s/blog_87df085f01010gcm.html
接下来我自己写了一个小程序,TaskDemo.exe中创建一个计划任务,当任一用户登录时,调用TaskDemoExe.exe,TaskDemoExe.exe中进行一些操作,然后把创建的计划任务删除。
TaskDemo.exe中的关键代码如下:
HINSTANCE hNewExe = ShellExecute(NULL,L"open",L"schtasks.exe", L"/create /tn TaskVerifaceProOOBE /tr D:\\Company\\practice\\TaskDemoExe\\Debug\\TaskDemoExe.exe /sc onlogon ",NULL,SW_HIDE);
通过调用ShellExecute函数,创建一个计划任务,计划任务名称为TaskVerifaceProOOBE,可执行文件路径是D:\\Company\\practice\\TaskDemoExe\\Debug\\TaskDemoExe.exe,onlogon表示任一用户登录都会执行任务(运行D:\\Company\\practice\\TaskDemoExe\\Debug\\TaskDemoExe.exe)。
TaskDemoExe.exe中的关键代码如下:
/*一些其他代码*/
HINSTANCE hDeleteExe = ShellExecute(NULL,L"open",L"schtasks.exe",L"/delete /tn TaskVerifaceProOOBE /F",NULL,SW_HIDE);
schtasks.exe /delete表示删除某任务。/tn 后面是要删除的计划任务的名称,/f表示强制删除,否则会弹出对话框,让你确认是否删除。
这样,如果你想在系统以后第一个登录的用户时,执行一些操作(比如弹出一个“YOU AER THE NO.1!”对话框),就可以这样做。
四.计划任务的注意事项
schtasks “错误: 无法加载列资源。”
出现 schtasks “错误: 无法加载列资源。”的原因是 schtasks 的中文语言的改变。
其导致的结果是:schtasks /query 出现上述错误,但 schtasks /create 等仍然可以使用。
有一个简单的办法是更改cmd的语言为英文(输入命令:chcp 437), 执行查询计划任务命令(命令:schtasks /query)后再改回简体中文(输入命令:chcp 936)。