哪位仁兄有DELPHI的关机系统源代码,能发给我一份吗?谢谢!!!!!!!!!!!
E-Mail:[email protected]

解决方案 »

  1.   

    不就是ExitWindowEx的API网上有N多例子了http://lysoft.7u7.net
      

  2.   

    function qdqx(sf:boolean):boolean;  //本段取得NT级的系统权限
    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;
    end;然后在相关事件里调用:
        qdqx(true);
        ExitWindowsEx(EWX_SHUTDOWN, 0);即可
    楼主揭帖吧,这个是完整的了(2000系统就加 qdqx(true),98不用加)
      

  3.   

    为什么我在WIN2K下使用该代码,最后显示‘你可以正常关机了’,然后要手动关闭电脑?