Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
4-13515
sosv
2003-04-08 12:26
2003.06.05
Идентификатор окна.


1-13140
Alex_x
2003-05-26 09:39
2003.06.05
Установка региональных и других настроек


7-13483
Shuric
2003-04-03 18:32
2003.06.05
Не напомнит ли кто (про реестр)


11-13105
AlbertHakimov
2002-09-12 13:48
2003.06.05
Компонент TKOLImageList


1-13318
HardClubber
2003-05-25 10:43
2003.06.05
Параметры к приложению




   Наверх