Форум: "Система";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
ВнизКомпьютер отключается, НО... Найти похожие ветки
← →
Beglec (2002-09-26 05:00) [0]Пробывал двумя способами.
1. С привилегиями.
2. Через программу Shutdown - кстате, этот вариант мне больше нравится и работает стабильней!!!
Все отключается но появляется лого
"Типа теперь можете отключить питание"
Как убрать данную фигню и заставить компьютер действительно ПОЛНОСТЬЮ отключаться.
Win XP
Вроде какой то где то ключь прописать в реестре надо, но какой??? Может кто подскажет
Заранее благодарен.
← →
Александр Спелицин (2002-09-26 11:36) [1]Вот работающий пример, правда на C.
#include <windows.h>
#include <stdio.h>
void error (char* error_string);
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdLine, int nCmdShow )
{
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");
ExitWindowsEx(EWX_POWEROFF, 0);
return (0);
}
void error (char* error_string)
{
printf (error_string);
}
← →
Song (2002-09-26 13:10) [2]А Ваш комп выключается через Пуск нормально?
У меня тоже XP. И конструкция привелегии+ExitWindowsEx() работает отлично.
← →
Fel (2002-09-26 15:32) [3]Скорее всего у тебя AT-шная мать, а не ATX-овская. В этом случае ты и не выключишь полностью нормально.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.016 c