Питание компьютера, запуск и завершение Windows
Code: |
function IsWorkstationLocked: Boolean; var hDesktop: HDESK; begin Result := False; hDesktop := OpenDesktop('default', 0, False, DESKTOP_SWITCHDESKTOP); if hDesktop <> 0 then begin Result := not SwitchDesktop(hDesktop); CloseDesktop(hDesktop); end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
SendMessage (FindWindow ('Progman', 'Program Manager'), WM_CLOSE, 0, 0); |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
uses Registry; ... procedure TForm1.Button1Click(Sender: TObject); var a: TRegistry; begin a := TRegistry.create; with a do begin RootKey := HKEY_CURRENT_USER; OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer', true); WriteInteger('NoClose', 1); CloseKey; Free; end; end;
|
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
procedure TForm1.Button1Click(Sender: TObject); var SysPowerStatus: TSystemPowerStatus; begin GetSystemPowerStatus(SysPowerStatus); if Boolean(SysPowerStatus.ACLineStatus) then begin ShowMessage('System running on AC.'); end else begin ShowMessage('System running on battery.'); ShowMessage(Format('Battery power left: %d percent.', [SysPowerStatus.BatteryLifePercent])); end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
{ **** UBPFD *********** by **** >> Переход в ждущий режим под WinNT Зависимости: Windows Автор: DeMoN-777, Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., Санкт-Петербург ***************************************************** }
procedure NTWait; var hToken: THandle; tkp: TTokenPrivileges; ReturnLength: Cardinal; begin if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then begin LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid); tkp.PrivilegeCount := 1; tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then SetSystemPowerState(true, true); end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Если текст в Memo1 был изменен, то программа не разрешает завершения сеанса Windows.
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
function HibernateAllowed: Boolean; type TIsPwrHibernateAllowed = function: Boolean; stdcall; var hPowrprof: HMODULE; IsPwrHibernateAllowed: TIsPwrHibernateAllowed; begin Result := False; if IsNT4Or95 then Exit; hPowrprof := LoadLibrary('powrprof.dll'); if hPowrprof <> 0 then begin try @IsPwrHibernateAllowed := GetProcAddress(hPowrprof, 'IsPwrHibernateAllowed'); if @IsPwrHibernateAllowed <> nil then begin Result := IsPwrHibernateAllowed; end; finally FreeLibrary(hPowrprof); end; end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Как правило, приложение не требуется получать уведомления при переключении сеанса происходить. Тем не менее, если приложение должно быть в курсе, когда его рабочий стол
течение, оно может зарегистрировать для уведомлений переключателя сеанса. Приложения, которые доступ к последовательному порту или другому общему ресурсу на компьютере должен
Проверьте на это. Для регистрации уведомления используйте следующую функцию:
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
function SuspendAllowed: Boolean; type TIsPwrSuspendAllowed = function: Boolean; stdcall; var hPowrprof: HMODULE; IsPwrSuspendAllowed: TIsPwrSuspendAllowed; begin Result := False; hPowrprof := LoadLibrary('powrprof.dll'); if hPowrprof <> 0 then begin try @IsPwrSuspendAllowed := GetProcAddress(hPowrprof, 'IsPwrSuspendAllowed'); if @IsPwrSuspendAllowed <> nil then begin Result := IsPwrSuspendAllowed; end; finally FreeLibrary(hPowrprof); end; end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Вопрос: А как реализовать в одном компоненте такие функции как выключение компьютера, перезагрузка, завершение сеанса работы пользователя, Eject CD, выключение питания монитора и т.д.? Ответ: предлагаем посмотреть следующий пример ...
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Code: |
procedure TForm1.Button1Click(Sender: TObject); var SysPowerStatus: TSystemPowerStatus; begin GetSystemPowerStatus(SysPowerStatus); if Boolean(SysPowerStatus.ACLineStatus) then begin ShowMessage('System running on AC.'); end else begin ShowMessage('System running on battery.'); ShowMessage(Format('Battery power left: %d percent.', [SysPowerStatus.BatteryLifePercent])); end; end; |
- Подробности
- Родительская категория: Windows
- Категория: Питание компьютера, запуск и завершение Windows
Страница 2 из 3