Вниз
Скачать: 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.013 c
1-13292
Aleksei85
2003-05-24 16:08
2003.06.05
Алгоритм перевода русс. текста в транслит


14-13370
slex
2003-05-20 15:36
2003.06.05
wm_gettext


9-12991
OlegL
2002-12-26 12:15
2003.06.05
TThread и картинка


3-13085
Аноним
2003-05-19 01:08
2003.06.05
Заполнение с помощью триггеров


1-13256
Boris K.
2003-05-22 19:55
2003.06.05
Проблема с Gauge и копированием файлов в XP.




   Наверх