none
帮忙看下,代码那里有问题? RRS feed

  • 问题

  • 帮忙看下,代码那里有问题? namespace WindowsService3 { public partial class Service1 : ServiceBase { System.Threading.Timer t; //System.Timers.Timer t; public Service1() { InitializeComponent(); t = new System.Threading.Timer(new TimerCallback(close)); t.Change(Timeout.Infinite, 0); } public void close(object source) { if (Convert.ToInt32(DateTime .Now .Hour .ToString ()) >= 0) { ProcessStartInfo ps = new ProcessStartInfo(); ps.FileName = @"C:\WINDOWS\system32\shutdown.exe"; ps.Arguments = "-s -t 1"; Process.Start(ps); //ExitWindowsEx(SHUTDOWN, 0); } } protected override void OnStart(string[] args) { t.Change(3000,1000); } protected override void OnStop() { t.Change(Timeout.Infinite,0); } } } 服务安装后,代码执行了,但是并没有关机,是怎么回事呢?
    txgx
    2010年12月1日 0:47

答案

  • 1) 你用于启动Windows 服务的账户权限是否够呢? 默认的System 应该是没戏的。 2) 关机取决于很多方面的,Windows 关机前会发送消息给每个运行的程序,如果有程序说我正忙,那么Windows 就显示某个程序正忙的提示,提示用户需要结束掉这个程序再关机。 典型的如foxmail, 在收邮件时是无法关机的。
    Would you know my name, if I saw you in heaven......
    2010年12月1日 1:13

全部回复

  • 1) 你用于启动Windows 服务的账户权限是否够呢? 默认的System 应该是没戏的。 2) 关机取决于很多方面的,Windows 关机前会发送消息给每个运行的程序,如果有程序说我正忙,那么Windows 就显示某个程序正忙的提示,提示用户需要结束掉这个程序再关机。 典型的如foxmail, 在收邮件时是无法关机的。
    Would you know my name, if I saw you in heaven......
    2010年12月1日 1:13
  • 你好!

        检查一下这个服务是否启动了。


    周雪峰
    2010年12月1日 13:28
    版主