user-0 提问: c语言定时执行 计时器

回复:
user: user-1
content: C:\>schtasks /?  SCHTASKS /parameter [arguments]  描述:     允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任     务。替代 AT.exe。  参数列表:     /Create         创建新计划任务。      /Delete         删除计划任务。      /Query          显示所有计划任务。      /Change         更改计划任务属性。      /Run            立即运行计划任务。      /End            中止当前正在运行的计划任务。      /?              显示帮助消息。  示例:     SCHTASKS     SCHTASKS /?     SCHTASKS /Run /?     SCHTASKS /End /?     SCHTASKS /Create /?     SCHTASKS /Delete /?     SCHTASKS /Query  /?     SCHTASKS /Change /?  C:\>schtasks /Create /?  SCHTASKS /Create [/S system [/U username [/P [password]]]]     [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]     [/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]     [/RI interval] [ {/ET endtime | /DU duration} [/K] ]     [/SD startdate] [/ED enddate] [/IT] [/Z] [/F]  描述:     允许管理员在本地或远程系统上创建计划任务。  参数列表:     /S           system            指定要连接到的远程系统。如果省略这个                                    系统参数，默认是本地系统。      /U           username          指定命令执行的用户上下文。      /P           [password]        指定给定用户上下文的密码。如果省略则                                    提示输入。      /RU          username          指定任务在其下运行的“运行方式”用户                                    帐户(用户上下文)。对于系统帐户，有效                                    值是 ""、"NT AUTHORITY\SYSTEM" 或                                    "SYSTEM"。      /RP          [password]        指定“运行方式”用户的密码。要提示输                                    入密码，值必须是 "*" 或无。系统帐户                                    会忽略该密码。      /SC          schedule          指定计划频率。                                    有效计划任务: MINUTE, HOURLY,                                    DAILY, WEEKLY, MONTHLY, ONCE,                                    ONSTART, ONLOGON, ONIDLE.      /MO          modifier          改进计划类型以允许更好地控制计划重复                                    周期。有效值列于下面“修改者”部分中。      /D           days              指定该周内运行任务的日期。有效值:                                    MON, TUE,WED, THU, FRI, SAT, SUN                                    和对 MONTHLY 计划的 1 - 31                                    (某月中的日期)。通配符“*”指定所有                                    日期。      /M           months            指定一年内的某月。默认是该月的第一天。                                    有效值: JAN, FEB, MAR, APR, MAY, JUN,                                    JUL, AUG, SEP, OCT, NOV, DEC。通配符                                    “*” 指定所有的月。      /I           idletime          指定运行一个已计划的 ONIDLE 任务之前                                    要等待的空闲时间。                                    有效值范围: 1 到 999 分钟。      /TN          taskname          指定唯一识别这个计划任务的名称。      /TR          taskrun           指定在这个计划时间运行的程序的路径                                    和文件名。                                    例如: C:\windows\system32\calc.exe      /ST          starttime         指定运行这个任务的开始时间。时间格式                                    是 HH:mm (24 小时时间) 例如 14:30 为                                    2:30 PM。默认到当前时间。      /RI          interval          用分钟指定重复间隔。这无法应用于                                    已计划的类型: MINUTE, HOURLY,                                    ONSTART, ONLOGON, ONIDLE。                                    有效范围: 1 - 599940 分钟。                                    如果指定了 /ET 或 /DU，它会默认到                                    10 分钟。      /ET          endtime           指定运行任务的结束时间。                                    时间格式是 HH:mm (24 小时时间)                                    例如 14:50 为 2:50 PM。这无法运用于                                    计划类型: ONSTART, ONLOGON, ONIDLE。      /DU          duration          指定运行此任务的持续时间。                                    时间格式是 HHHH:mm。                                    这不适用于 /ET 和计划类型: ONSTART，                                     ONLOGON, ONIDLE。如果指定了 /RI，                                    那么默认为 1 小时。      /K                             在结束时间或持续时间终止此任务。                                    这不适用于计划类型: ONSTART,                                    ONLOGON, ONIDLE。必须指定 /ET                                    或 /DU。      /SD          startdate         指定第一次运行这个                                    任务的日期。格式是 yyyy/mm/dd。                                    默认为当前时间。这不适用于计划                                    类型: ONCE, ONSTART, ONLOGON,                                    ONIDLE.      /ED          enddate           指定此任务运行的最后一天的日期。                                    格式是 yyyy/mm/dd。                                    这不适用于计划类型: ONCE, ONSTART,                                    ONLOGON, ONIDLE。      /IT                            /RU 用户在此作业运行时登录才启                                    用此任务用交互方式运行。                                    用户登录后此任务才运行。      /Z                             如果此任务没有计划再次运行，                                    会删除此任务。      /F                             如果指定的任务已经存在，强行                                    创建此任务并不显示警告。      /?                             显示该帮助消息。  修改者: 按计划类型的 /MO 开关的有效值:     MINUTE:  1 到 1439 分钟。     HOURLY:  1 到 23 小时。     DAILY:   1 到 365 天。     WEEKLY:  1 到 52 周。     ONCE:    无修改者。     ONSTART: 无修改者。     ONLOGON: 无修改者。     ONIDLE:  无修改者。     MONTHLY: 1 到 12，或              FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY。  示例:     ==> 在远程机器 "ABC" 上创建计划任务 "doc"，         该机器每小时在 "runasuser" 用户下运行 notepad.exe。          SCHTASKS /Create /S ABC /U user /P password /RU runasuser                  /RP runaspassword /SC HOURLY /TN doc /TR notepad      ==> 在远程机器 "ABC" 上创建计划任务 "accountant"，         在指定的开始日期和结束日期之间的开始时间和结束时间内，         每隔五分钟运行 calc.exe。          SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE                  /MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00                  /SD 2002/12/30 /ED 2002/12/30 /RU runasuser /RP      ==> 创建计划任务 "gametime"，在每月的第一个星期天         运行“空当接龙”。          SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN gametime                  /TR c:\windows\system32\freecell      ==> 在远程机器 "ABC" 创建计划任务 "report"，         每个星期运行 notepad.exe。          SCHTASKS /Create /S ABC /U user /P password /RU runasuser                  /RP runaspassword /SC WEEKLY /TN report /TR notepad.exe      ==> 在远程机器 "ABC" 创建计划任务 "logtracker"，         每隔五分钟从指定的开始时间到无结束时间，         运行 notepad.exe。将提示输入 /RP         密码。          SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE                  /MO 5 /TN logtracker                  /TR c:\windows\system32\notepad.exe /ST 18:30                  /RU runasuser /RP      ==> 创建计划任务 "gaming"，每天从 12:00 点开始到         14:00 点自动结束，运行 freecell.exe。          SCHTASKS /Create /SC HOURLY /TN gaming /TR c:\freecell /ST 12:00                  /ET 14:00 /K

user: user-0
content: Linux下的计划任务服务crond   可以实现。

user: user-2
content: 引用 2 楼 xt646449830 的回复:[quote=引用 1 楼 u011779875 的回复:] 取系统时间啊 如果是0点就发呗 这有什么 如何指定时间执行一项任务确不知道如何实现 创建进程 线程 想怎么搞怎么搞 看需求 一触发就创建上传的进程 发送完 干掉  ok每秒都去取系统时间。。。。[/quote] 这个随便写了啊 当然 当你服务器一直开启的时候 前提  不重启 那么你没很长时间取一次时间啊  当你取时间发现 马上0点之前的5分钟 你就要改变取法了啊 这都是你说的算 那只是比喻 也就100行代码 处理下

user: user-3
content: 用Timer每隔一段时间（比如10分钟）执行一次你的程序就是。在程序中判断当前时间是否是零点前后。 貌似你这程序对实时性要求又不高。  引用 2 楼 xt646449830 的回复:[quote=引用 1 楼 u011779875 的回复:] 取系统时间啊 如果是0点就发呗 这有什么 如何指定时间执行一项任务确不知道如何实现 创建进程 线程 想怎么搞怎么搞 看需求 一触发就创建上传的进程 发送完 干掉  ok每秒都去取系统时间。。。。[/quote]

user: user-0
content: 引用 1 楼 u011779875 的回复:取系统时间啊 如果是0点就发呗 这有什么 如何指定时间执行一项任务确不知道如何实现 创建进程 线程 想怎么搞怎么搞 看需求 一触发就创建上传的进程 发送完 干掉  ok每秒都去取系统时间。。。。

user: user-2
content: 取系统时间啊 如果是0点就发呗 这有什么 如何指定时间执行一项任务确不知道如何实现 创建进程 线程 想怎么搞怎么搞 看需求 一触发就创建上传的进程 发送完 干掉  ok