jacklechaw

导航

C#创建Windows Services的问题

公司有规定:每天早晨上班,晚上下班必须打卡,忘记打卡一次罚款10元,要是两次都忘了,一天就白忙活了,本来银子就不多,再这么折磨怎么受得了。便生出一个想法,能不能启动一个服务,早晨开机时若时间超过9:03分,则提示打卡,晚上下班关机时也提示打卡。说干就干,代码很快写好,很简单,就是在OnStart和OnStop中分别弹出一个对话框。代码如下:

/// <summary>
  /// 设置具体的操作,以便服务可以执行它的工作。
  /// </summary>
  protected override void OnStart(string[] args)
  {
   // TODO: 在此处添加代码以启动服务。
   //   this.AutoLog = true;
   //   this.CanHandlePowerEvent = true;
   //   this.CanPauseAndContinue = true;
   //   this.CanShutdown = true;
   //   this.CanStop = true;
   if( System.DateTime.Now.Hour > 9 && System.DateTime.Now.Minute > 3 )
   {
    MessageBox.Show( "早上好, 您今天上班打卡了吗?, 不要忘记哦!", "友情提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification );
   }
   base.OnStart( args );
  }

/// <summary>
  /// 停止此服务。
  /// </summary>
  protected override void OnStop()
  {
   // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
   //   this.AutoLog = false;
   //   this.CanHandlePowerEvent = false;
   //   this.CanPauseAndContinue = false;
   //   this.CanShutdown = false;
   //   this.CanStop = false;
   if( System.DateTime.Now.Hour > 18 && System.DateTime.Now.Minute > 0 )
   {
    MessageBox.Show( "辛苦了, 记得下班要打开哦, 可不能白忙活一天!", "友情提示", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification );
   }
   base.OnStop();
  }

生成服务,再使用installutil.exe安装此服务,一切顺利。问题来了,每次我启动或停止服务时并没有弹出对话框,到底是哪里出了问题呢?我特地调整了系统时间,仍然没有反应.郁闷中!

posted on 2005-02-26 15:40  生如夏花  阅读(476)  评论(3)    收藏  举报