Текущий архив: 2003.06.05;
Скачать: CL | DM;
Вниз
выключение компьютера Найти похожие ветки
← →
alexsc (2003-03-31 14:13) [0]Уважаемые мастера. В Delphi выдается такая ошибка.
[Error] finish.pas(43): Ambiguous overloaded call to "AdjustTokenPrivileges"
В чем неточности.
procedure TForm_F.BitBtn2Click(Sender: TObject);
var
PrevState,tkp : _Token_Privileges;
ph, handle1, hToken1 : THandle;
tp,prevst:TTokenPrivileges;
rl:DWORD;
begin
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,ph);
LookupPrivilegeValue(Nil,"SeShutdownPrivilege",tp.Privileges[0].Luid);
tp.PrivilegeCount:=1;
tp.Privileges[0].Attributes:=2;
AdjustTokenPrivileges(ph,FALSE,tp,SizeOf(prevst),prevst,rl);
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF,0);
end;
Спасибо, Алексей.
← →
Clickmaker (2003-03-31 14:17) [1]function AdjustTokenPrivileges(TokenHandle: THandle; DisableAllPrivileges: BOOL;
const NewState: TTokenPrivileges; BufferLength: DWORD;
var PreviousState: TTokenPrivileges; var ReturnLength: DWORD): BOOL; stdcall; overload;
{$EXTERNALSYM AdjustTokenPrivileges}
function AdjustTokenPrivileges(TokenHandle: THandle; DisableAllPrivileges: BOOL;
const NewState: TTokenPrivileges; BufferLength: DWORD;
PreviousState: PTokenPrivileges; var ReturnLength: DWORD): BOOL; stdcall; overload;
То бишь можно и var подсунуть и указатель. В твоем случае видимо нужно так
AdjustTokenPrivileges(ph,FALSE,tp,SizeOf(prevst), @prevst,rl);
← →
alexsc (2003-03-31 14:39) [2]Спасибо за ответ, но к сожалению программа продолжает ругаться.
← →
Игорь Шевченко (2003-03-31 15:15) [3]AdjustTokenPrivileges(hToken, FALSE, tp, 0,
nil, returnedlength);
← →
Intell (2003-03-31 15:25) [4]winexec(pchar("RUNDLL32.EXE user,exitwindows"),sw_shownormal);
или лучше
win32check(exitwindowsex(ewx_shutdown, 0));
Вырубает комп без вопросов.
← →
alexsc (2003-03-31 16:05) [5]To Intell © win32check(exitwindowsex(ewx_shutdown, 0));
Не вырубает комп без вопросов.
Говорит, что нет прав
To Игорь Шевченко © (31.03.03 15:15)
AdjustTokenPrivileges(hToken, FALSE, tp, 0,nil,Returnedlength);
А что за типы параметров, тк все равно ругается.
← →
Clickmaker (2003-03-31 16:14) [6]Не поленился, скомпилил твой код. Не ругается. Хоть с @, хоть без...
← →
alexsc (2003-03-31 16:53) [7]Это может зависить от операционки WINXP и версии лицензионно-чистой версии Delphi 5 Pro
Я же не издеваюсь задавая такие вопросы Вам.
← →
Игорь Шевченко (2003-03-31 17:49) [8]alexsc (31.03.03 16:05)
var
hToken : THANDLE;
tp : TOKEN_PRIVILEGES;
returnedlength : DWORD;
← →
alexsc (2003-04-03 09:42) [9]Всем огромное спасибо, перетащил в основную форму и все заработало, какой-то ГЛЮК ешкин кот. Отсюда и все недопонимание мной Вас.
Алексей
Страницы: 1 вся ветка
Текущий архив: 2003.06.05;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.007 c