Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];

Вниз

Отключение жестких дисков и ЦПУ   Найти похожие ветки 

 
NetWorK ©   (2004-05-04 12:55) [0]

Добрый день, господа программисты!
Не занимался ли кто-нибудь разработкой программ подобоных по своей функциональности, системному "гасителю" Винды? У меня стоит подобная задача: нужно чтобы моя программа могла отключать монитор(тут проблем нет), жесткие диски(первая проблема) и ЦПУ. Что касается ЦПУ, то я и сам не совсем понимаю что это означает, но требуется STANDBY CPU. Вот такая задача, если кто может что-нибудь дельного подсказать, буду очень рад выслушать.

Заранее спасибо.


 
Игорь Шевченко ©   (2004-05-04 14:35) [1]

SetSystemPowerState ?


 
NetworK ©   (2004-05-04 14:50) [2]


> Игорь Шевченко ©   (04.05.04 14:35) [1]
> SetSystemPowerState ?

В хелпе написано, что он только для 9х. Так что наверное не поможет.


 
TUser ©   (2004-05-04 15:30) [3]

В ХР, если из винды выйти, - но все можно выключить при современной маме. В 2000, вроде, тоже.


 
Игорь Шевченко ©   (2004-05-04 15:39) [4]

Client: Requires Windows XP, Windows 2000 Professional, Windows Me, Windows 98, or Windows 95.
Server: Requires Windows Server 2003 or Windows 2000 Server.


 
NetworK ©   (2004-05-05 20:57) [5]


> Client: Requires Windows XP, Windows 2000 Professional,
> Windows Me, Windows 98, or Windows 95.
> Server: Requires Windows Server 2003 or Windows 2000 Server.

Да, согласен, не смог глянуть сразу в МСДН(спасибо провайдеру, наверное)

Но, господа, это ж не решение проблемы в общем. Т.е. с дисками это вроде должно работать, а как насчет ЦПУ. Вот именно здесь заложена та трабла, разобраться, с которой мне еще престоит. И если вам не очень трудно, чтобы помочь старому индейцу, то помогите, я в таком тупике, что уже не знаю к кому обращаться....хелп!


 
DrPass ©   (2004-05-05 22:41) [6]

Почему только с дисками? Ты можешь перевести всю систему в состояние suspend или вообще в спящий режим


 
Zaratustra ©   (2004-05-06 19:35) [7]

А не поможешь кодом? Я понимаю, что МСДН и хелп рулят, но в МСДН все на непонятном мне инглише и для непонятного мне Си. Был бы очень благодарен.


 
Ajax ©   (2004-05-06 20:24) [8]

Вот работающий под любой виндой код. На передачу параметра не смотрите - так было надо...

procedure ShutDown(param:PCHAR);
const
 SE_SHUTDOWN_NAME = "SeShutdownPrivilege";
var
 hToken       : THandle;
 tkp          : TTokenPrivileges;
 ReturnLength : Cardinal;
begin
 if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then Exit;
 if not LookupPrivilegeValue(nil, "SeShutdownPrivilege",tkp.Privileges[0].Luid) then Exit;
 tkp.PrivilegeCount := 1;
 tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
 AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength);
 if Boolean( GetLastError() ) then Exit
   else
     if param="restart" then ExitWindowsEx(EWX_SHUTDOWN or EWX_REBOOT, 0 )
       else
         If param="suspend" then SetSystemPowerState(true,true)
           else
             If param="hibernate" then SetSystemPowerState(false,true)
               else
                 ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;


 
NetWorK ©   (2004-05-07 14:29) [9]

Огромное спасибо за код. Это почти то что нужно. Но хотелось бы как-то пооддельности все вышеперечисленные ф-ции вызывать...т.е к примеру погасить монитор, но не вырубать диски и т.п.

Но все равно спасибо. Код действительно работает.


 
NetworK ©   (2004-05-07 14:39) [10]

И еще один вопрос насчет 9х. У меня 98 винда стоит под ВМВарей, там прога ничего не делает. Я так понимаю что это Варя виновата. Так ли это? Или дело в Винде...


 
NetworK ©   (2004-05-11 15:11) [11]

Ладно, нашел решение. Всем спасибо. Ветку можно считать закрытой



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1085634557
dolmat
2004-05-27 09:09
2004.06.13
Создание сервера e-mail


1-1085909283
nitro
2004-05-30 13:28
2004.06.13
Как проверить пустой ли список Listbox ?


1-1085994920
DBDEV
2004-05-31 13:15
2004.06.13
TTreeView->MultiSelect - помогите написать обработчик.


6-1082732730
god
2004-04-23 19:05
2004.06.13
TServerSocket & TClientSocket !!! ReciveText


9-1076410593
Bortel
2004-02-10 13:56
2004.06.13
уровни





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский