? d e l p h i   -N俌UOO z廭(WW i n 2 0 0 0   穬梍  S E _ S H U T D O W N _ N A M E   yrCgd e l p h i   程序在W i n 2 0 0 0 如何获得 S E _ S H U T D O W N _ N A M E  特权 用于关掉计算机电源。最好能说详细点
谢谢?

解决方案 »

  1.   

    看的好晕啊!var
      VerInfo: TOSVersionInfo;
      hToken: THANDLE;
      tkp: TOKEN_PRIVILEGES;
      Nothing: Cardinal;
    begin
      VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo);
      GetVersionEx(VerInfo);
        if VerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then begin
          OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
            hToken);
          LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
          tkp.PrivilegeCount := 1;
          tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
          AdjustTokenPrivileges(hToken, FALSE, tkp, 0, nil, Nothing);
        end;
        ExitWindowsEx(EWX_FORCE + EWX_SHUTDOWN + EWX_POWEROFF, 0);
    end;