Re: Как выключить Винду в нужное время?
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 18.02.03 13:54
Оценка: 12 (2)
Здравствуйте, Smile_fpm, Вы писали:

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
    HANDLE hToken; 
    TOKEN_PRIVILEGES tkp; 
 
    if (!OpenProcessToken(GetCurrentProcess(), 
            TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
        error("OpenProcessToken"); 
 
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, 
            &tkp.Privileges[0].Luid); 
 
    tkp.PrivilegeCount = 1;  // one privilege to set    
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
 
    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, 
            (PTOKEN_PRIVILEGES)NULL, 0); 
 
    if (GetLastError() != ERROR_SUCCESS) 
        error("AdjustTokenPrivileges"); 
 
    if (!ExitWindowsEx(EWX_POWEROFF | EWX_FORCE, 0)) 
        error("ExitWindowsEx"); 

    return 0;
}
... << RSDN@Home 1.0 beta 5 >>
Как выключить Винду в нужное время?
От: Smile_fpm Беларусь  
Дата: 18.02.03 13:13
Оценка:
Надо вырубить Винду в определенное время. Трюк с rundll32.exe user32.dll ExitWindowsEx 1, 0 не работает. Пробовал написать прогу на С, вызывающей эту функцию, но W98 ругается, чтобы сперва завершил приложение, а потом выключал Винду.
Может кто-нибудь знает ответ? Заранее благодарен.
Re[2]: Как выключить Винду в нужное время?
От: Smile_fpm Беларусь  
Дата: 18.02.03 14:55
Оценка:
Здравствуйте, Михаил Можаев.
Спасибо за ответ, но 98-я так и не сдается...
Re[3]: Как выключить Винду в нужное время?
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 18.02.03 15:33
Оценка:
Здравствуйте, Smile_fpm, Вы писали:

SF> Здравствуйте, Михаил Можаев.

SF>Спасибо за ответ, но 98-я так и не сдается...

Хм. В MSDN написано

Windows 95/98: ExitWindowEx does not work from a console application, as it does on Windows NT/Windows 2000.


Может из-за этого...
... << RSDN@Home 1.0 beta 5 >>
Re: Как выключить Винду в нужное время?
От: VCoder http://wxbar.sf.net
Дата: 19.02.03 08:29
Оценка:
Здравствуйте, Smile_fpm, Вы писали:

SF> Надо вырубить Винду в определенное время.

Если тебе не нужно, чтобы это делала твоя программа, то можешь установить какой-нибудь планировщик и настроить его. Я пользуюсь nnCron'ом .
С уважением,
Дмитрий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.