如何让win2000 Pro 实现定时自动重启??
思路是什么??
急啊!!!!!

解决方案 »

  1.   

    ur program start when OS start,in a certain amount of time call ExitWindows with SHUTDOWN privilege.
      

  2.   

    不用XP的shutdown.exe,不用计划任务批处理命令
      

  3.   

    用InitiateSystemShutdown函数,见msdn
      

  4.   

    可以通过定时来调用下面的函数~~
    具体的可以自己通过GetSystemTime()来获取时间,然后通过该时间和你自己想要重启的设置时间进行比较,如果相同就调用Reboot()~~~
    Reboot()可以使win2000自动重启~~~
    void Reboot()
    {
    //获取操作系统信息
    DWORD dwVersion = GetVersion();

    if (dwVersion < 0x80000000)              // Windows NT
    {
    HANDLE hToken; 
    TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), 
            TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
    return; 
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, 
            &tkp.Privileges[0].Luid); 
    tkp.PrivilegeCount = 1;  // one privilege to set    
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); 
    MessageBox(NULL,TEXT("重启成功!"),TEXT("提示:"),MB_OK|MB_ICONINFORMATION);
    if (!ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0)) 
    return; 
    }
    else
    {
    MessageBox(NULL,TEXT("重启成功!"),TEXT("提示:"),MB_OK|MB_ICONINFORMATION);
    if (!ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0)) 
    return; 
    }
    }