Форум: "WinAPI";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизКак в XP выключить комп??? Найти похожие ветки
← →
beetlehead (2004-07-04 17:33) [0]Вопрос в принципе вот в чем. Если использовать ExitWindowsEx, то происходит просто завершение сеанса. Думаю дело в том, чтобы поднять приоритет. Пишу следующее:
procedure ShutdownMyBestLovedComp;
var hToken,p,o: cardinal;
tkp: TOKEN_PRIVILEGES;
SE_SHUTDOWN_NAME:PAnsiChar;
begin
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken);
LookupPrivilegeValue(NIL, SE_SHUTDOWN_NAME,tkp.Privileges[0].Luid);
p:=0; o:=0;
tkp.PrivilegeCount:=1;
tkp.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,false,tkp,p,PTokenPrivileges(0),o);
ExitWindowsEx(EWX_POWEROFF,0);
end;
Просто этот код переписывал из сишного. Возникает проблемма со строчкой AdjustTokenPrivileges(hToken,false,tkp,p,PTokenPrivileges(0),o);
Еррора такая, что компилятор не знает какую из перезагруженных версий загружать по введенным параметрам.
В С++ все пахало, а здесь не хотит. Вся проблемма в этой строчке.
P.S. Если просто оставить одну строчку ExitWindowsEx(EWX_POWEROFF,0) и изменить в свойствах проги, на эмуляцию 98 винды, то комп выключается с сообщением "ТЕПЕРЬ ПИТАНИЕ КОМПЬЮТЕРА МОЖНО ВЫКЛЮЧИТЬ"
Заранее спасибо всем кто откликнулся, если таковые будут :)
← →
NikotiN © (2004-07-04 17:39) [1]Пуск\выполнить\shutdown -s -t 10
← →
beetlehead (2004-07-04 17:46) [2]Гениально!!!
← →
Sairex (2004-07-09 11:53) [3]Не только есть еще проще выход :)))
windows.ExitWindowsEx(EWX_POWEROFF,EWX_SHUTDOWN);
Заставляет вырубить комп.
← →
Anatoly Podgoretsky © (2004-07-09 13:31) [4]Sairex (09.07.04 11:53) [3]
И ты естественно пробовал это выполнить!
← →
KADAN © (2004-07-09 13:37) [5]FAQ
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c