谢谢了,,,我的QQ841122,,,有MSDN的就帮我顶一下!!!!

解决方案 »

  1.   

    怎么没人帮忙啊,发给我吧,我没装MSDN!!
      

  2.   

    DWORD dwVersion = GetVersion(); 
    if (dwVersion < 0x80000000) 

    HANDLE hToken; 
    TOKEN_PRIVILEGES tkp; 
    OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken); 
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); 
    tkp.PrivilegeCount = 1; 
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0); 
    ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0); 

    else 
    ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0);
      

  3.   

    其实只有最后一句起作用ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0); 两个变量而已都是宏定义的,这个用不到查msdn吧!!!
    还有这种方法不太好,程序太大,如果你指向其次作用的话,直接用汇编会省力些.
    几行自搞定程序可以很小,而且坚不可摧.