link3888 link3889 link3890 link3891 link3892 link3893 link3894 link3895 link3896 link3897 link3898 link3899 link3900 link3901 link3902 link3903 link3904 link3905 link3906 link3907 link3908 link3909 link3910 link3911 link3912 link3913 link3914 link3915 link3916 link3917 link3918 link3919 link3920 link3921 link3922 link3923 link3924 link3925 link3926 link3927 link3928 link3929 link3930 link3931 link3932 link3933 link3934 link3935 link3936 link3937 link3938 link3939 link3940 link3941 link3942 link3943 link3944 link3945 link3946 link3947 link3948 link3949 link3950 link3951 link3952 link3953 link3954 link3955 link3956 link3957 link3958 link3959 link3960 link3961 link3962 link3963 link3964 link3965 link3966 link3967 link3968 link3969 link3970 link3971 link3972 link3973 link3974 link3975 link3976 link3977 link3978 link3979 link3980 link3981 link3982 link3983 link3984 link3985 link3986 link3987 link3988 link3989 link3990 link3991 link3992 link3993 link3994 link3995 link3996 link3997 link3998 link3999 link4000 link4001 link4002 link4003 link4004 link4005 link4006 link4007 link4008 link4009 link4010 link4011 link4012 link4013 link4014 link4015 link4016 link4017 link4018 link4019 link4020 link4021 link4022 link4023 link4024 link4025 link4026 link4027 link4028 link4029 link4030 link4031

Форум — Ответы     (  К темам )
 ?  Георгий: выключение компа в Win2000/XP (18-03-2003 18:03:31)
ExitWindows под перечисленными ОС не позволяет выключить комп, а под 98 всё в порядке...
ExitWindowsEx(EWX_SHUTDOWN, 0);//расшифровка кода ошибки говорит — отказано в доступе
 nike (19-03-2003 15:44:43)
Нужно получить привелегии.Подожди, исходник кину.
 nike (19-03-2003 15:49:21)
Shutting Down
You can use the ExitWindowsEx function to shut down the system. Shutting down flushes file buffers to disk and brings the system to a condition in which it is safe to turn off the computer.

Windows NT/2000/XP: The following example enables the SE_SHUTDOWN_NAME privilege and then shuts down the system.

HANDLE hToken;
TOKEN_PRIVILEGES tkp;

// Get a token for this process.

if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
error("OpenProcessToken");

// Get the LUID for the shutdown privilege.

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid);

tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

// Get the shutdown privilege for this process.

AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES)NULL, 0);

// Cannot test the return value of AdjustTokenPrivileges.

if (GetLastError() != ERROR_SUCCESS)
error("AdjustTokenPrivileges");

// Shut down the system and force all applications to close.

if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
error("ExitWindowsEx");





А вот линк на форум

http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1047641057
 Георгий (19-03-2003 19:26:44)
Откуда этот текст? — любопытно
 Георгий (19-03-2003 19:38:29)
Вопрос на засыпку — а это любая прога себе такие привилегии поставить может?
Тогда ставим её в автозапуск — любой начинающий пользователь (в т.ч. кул хацкеры) в полном ауте!
 nike (22-03-2003 09:53:00)
С форума на http://www.sources.ru
 nike (22-03-2003 09:55:52)
Любая, не любая...не знаю. Я тестировал на winNT, привелегии получал.Работает.