Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

InitiateSystemShutdown

354
18 апреля 2006 года
ШпиЁн
468 / / 19.02.2006
как с помощью InitiateSystemShutdown выключить машину в локалке? вроде бы делаю все, как рекомендуется в MSDN, но ничего не работает(((

скиньте, плиз кусочек исходничка, было бы здорово! :-)
324
19 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by ШпиЁн
как с помощью InitiateSystemShutdown выключить машину в локалке? вроде бы делаю все, как рекомендуется в MSDN, но ничего не работает(((

скиньте, плиз кусочек исходничка, было бы здорово! :-)



Для этого тебе надо обладать правами администратора.

354
19 апреля 2006 года
ШпиЁн
468 / / 19.02.2006
Цитата:
Originally posted by AndreySar
Для этого тебе надо обладать правами администратора.



HANDLE hToken;
TOKEN_PRIVILEGES tkp;

if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return FALSE;

LookupPrivilegeValue(NULL, SE_REMOTE_SHUTDOWN_NAME ,
&tkp.Privileges[0].Luid);

tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES) NULL, 0);

if (GetLastError() != ERROR_SUCCESS)
{

if(!InitiateSystemShutdown(
"MVX",
"12345",
30,
FALSE,
TRUE))
if (GetLastError() != ERROR_SUCCESS) MessageBox(0, "error!", "", MB_OK);
}

У меня InitiateSystemShutdown возвращает NULL, а GetLastError() возвращает ERROR_SUCCESS! ошибка была, и ее не было! или я чего-то не понимаю (((

534
22 апреля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by ШпиЁн
У меня InitiateSystemShutdown возвращает NULL, а GetLastError() возвращает ERROR_SUCCESS! ошибка была, и ее не было! или я чего-то не понимаю (((

SE_REMOTE_SHUTDOWN_NAME нужно устанавливать не на твоей, а на удалённой машине.

354
23 апреля 2006 года
ШпиЁн
468 / / 19.02.2006
Цитата:
Originally posted by HarryAxe
SE_REMOTE_SHUTDOWN_NAME нужно устанавливать не на твоей, а на удалённой машине.



Может конечно я чего-то не понимаю, если бы не одно НО...

сеть, в ней две машины... я со своей запускаю утилитку shutdown.exe из Виндовс - она срабатывает... Пробовал и LanShutdown - тоже работает! Тут же запускаю мою прогу, текст которой приведен выше, и - FAIL! просто ужас, неужели придется смотреть в отладчике, что да как, в какой последовательности вызывается?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог