Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсак .doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1.25 Mб
Скачать

3.3. Розробка вузла виведення інформації про стан батареї.

Для того щоб отримати дані про стан батареї використовуються WinApi функції для роботи з батареєю.

Рис. 3.2. Граф-схема алгоритму вузла перегляду сервісів

Перше відбувається початок роботи вузла виведення інформації про стан батареї та виведення статусу зарядки від мережі Power on/off. Також отримуємо значення рівня заряду батарея та переводимо значення в співвідношення заряду батареї в відсотки. Далі обраховуємо час до повної розрядки батареї, також з урахуванням рівня енергозабезпечення максимальний час роботи від батареї до її повного розряду. І завершення роботи вузла.

Для отримання списку всіх сервісів використовуються WinApi функції

GetSystemPowerStatus(&sps).

switch (sps.ACLineStatus)

{

case 0:

return "Power off";

case 1:

return "Power on";

case 255:

default:

return "Невідомо";

break;

}

sps.ACLineStatus – повертає статус живлення «Power on», «Power off», «невідомо».

switch (sps.BatteryFlag)

{

case 1:

return "Високий";

case 2:

return "Низький";

case 4:

return "Критичний";

case 8:

return "Заряджається";

case 128:

return "Батарея відсутня";

case 255:

default:

return "Невідомий";

}

sps.BatteryFlag – повертає статус заряду "Високий", "Низький", "Критичний", "Заряджається", "Батарея відсутня", "Невідомий".

return (int)sps.BatteryLifePercent;

sps.BatteryLifePercent – повертає значення в відсотках статусу заряду.

return sps.BatteryLifeTime;

sps.BatteryLifeTime – повертає значення, що вказує на час приблизного живлення від батареї.

return sps.BatteryFullLifeTime;

sps.BatteryFullLifeTime – повертає максимальне значення часу живлення від батареї.

3.4. Розробка вузла виведення інформації про стан плану енергоспоживання

Даний вузол звертається до реєстру Windows і отримує дані про стан енергоспоживання. Доступ до реєстру забезпечується функціями стандартної бібліотека .NET.

Рис. 3.3. Граф-схема алгоритму інформації про стан енергозбереження

Перше відбувається початок роботи вузла виведення інформації про стан плану енергоспоживання. Далі проходить отримання доступу до реєстру windows даної операційної системи. Відкриття гілки, яка відповідає за план енергоспоживання та отримання інформації про відповідні рівні енергоспоживання з наявних. Далі отримуємо активний план енергоспоживання портативного пристрою. Завершення роботи з реєстром до якого ми звертались. Після всього цього відбувається завершення роботи цього вузла.

Щоб отримати дані про план енергоспоживання використовується:

RegistryKey Key = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes");

Звертається до реєстру Windows з планами енергоспоживання портативного комп’ютера.

string[] powers = Key.GetSubKeyNames();

Active = (string)Key.GetValue("ActivePowerScheme");

Виводить план живлення портативного комп’ютера, який активний.

3.5. Розробка вузла зміни плану енергоживлення.

Для того щоб змінити план енергоживлення використовується системна утиліта Powercfg.

Рис. 3.4. Граф-схема алгоритму

Перше відбувається початок роботи вузла зміни плану енергоживлення. Наступним робимо аналіз та виведення поточного плану енергоживлення. Вибираємо новий план заощадження енергії з переліку можливих в списку, після цього встановлюється доступ до утиліти «powercfg». Після встановлення доступу до утиліти, відбудеться заміна поточного плану заощадження енергії на встановлений новий план. І після цього відбудеться завершення цього вузла.

Щоб змінити поточний план енергоживлення використовується:

private void ChangePow(RadioButton rb)

{

Active = (string)pow[rb.Text];

ProcessStartInfo prc = new ProcessStartInfo("Powercfg", "-setactive " + Active);

prc.WindowStyle = ProcessWindowStyle.Hidden;

Process.Start(prc);

}

ProcessStartInfo – визначає набір значень, використовуваних при запуску процесу.

Powercfg – за допомогою програми Powercfg можна змінити параметри електроживлення та налаштувати комп'ютер на використання за замовчуванням чекаючого або сплячого режиму.

prc.WindowStyle – повертає або задає стиль кордону вікна.

ProcessWindowStyle.Hidden – вказано, яким чином має виглядати нове вікно при запуску процесу системою. Hidden – прихований стиль вікна. Система відображає приховане вікно, чи не прорисовуючи його. Приховане вікно може обробляти повідомлення від системи або від інших вікон, але не може обробляти введення від користувача або відображати висновок.

Process.Start – запускає ресурс процесу, певний властивістю StartInfo цього компонента Process, і пов'язує його з компонентом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]