我要在一个系统里作一个定时提醒的功能,如在系统中设定了几月几日要作什么事.   那到了规定的时间,系统会自动弹出个框用来提示用户
已经实现了大部分功能
if(当前时间==设定时间)
   messagebox.show(XXXXX);
else
?????????
问好那里不是很清楚要怎么处理 ,而且觉得程序上面有不完善的地方,比如要一直开着程序才可以实现这个功能

解决方案 »

  1.   

    当然要一直开着要不停的获取当前时间,比如一秒钟判断一次windows本身有个定时执行的服务,在dos下执行at进行设定,如果你将要执行的动作生成一个exe或者具有多个参数的一个exe,然后调用dos的at命令就可以定时执行
      

  2.   

    程序肯定要一直开起。
    如果时间到了就处理你需要处理的代码没到就什么也不做
    所以就不要else了
      

  3.   

    好像没有问题啊,你也不用一直开着,只要已运行程序,执行到此,判断你设定的时间和当前时间是否一致,是的话就弹出对话框提醒,不是就什么也不执行。
    其实我认为你用两个时间是否相同,应该使用Datetime的有一个方法是compare(t1,t2)(t1是设定时间,t2是当前时间
    ),返回值是三种情况:大于0,t1>t2;小于0,t1<t2;等于0,t1=t2.
    ~~~~~~~~~~~~~~~~~~
    如果两个时间的格式不一致,方法可能会存在问题
      

  4.   

    时间格式最好是:DateTime(Int32, Int32, Int32, Int32, Int32, Int32) ,将 DateTime 结构的新实例初始化为指定的年、月、日、小时、分钟和秒。
    两个时间类型可以直接用==判断是否相等吗?!