Q&A

  • WINDOWS XP 종료 방법 좀 알려 주세요
WINEXEC 라는 FUNCTION 을 사용한후 WINDOWS 를 종료 할려고  했는데 잘 안되네요
WINDOWS XP 에서는 잘 안 동작이 안되나 봐요

다른 API  를 사용해서 WINDOWS XP 를 종료 하고 싶은데 방법이 잇을까요
아시는분 부탁 해요  

1  COMMENTS
  • Profile
    김대혁 2003.09.18 22:41



    function Windos_Close:Boolean;
    var
            hProc, hToken   : THandle;
            mLUID           : Int64;
            mPriv, mNewPriv: TTokenPrivileges;
    begin
            Result := False;

            hProc := GetCurrentProcess();
            OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES + TOKEN_QUERY, hToken);
            LookupPrivilegeValue('', 'SeShutdownPrivilege', mLUID);
            mPriv.PrivilegeCount := 1;
            mPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
            mPriv.Privileges[0].Luid := mLUID;
            AdjustTokenPrivileges(hToken, False, mPriv, 4 + (12 * mPriv.PrivilegeCount), mNewPriv,
               mNewPriv.PrivilegeCount);
            ExitWindowsEx(EWX_SHUTDOWN, 0);

            Result := True;
    end;