Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Додатки. У результаті виконання курсового проекту створено системну утиліту «моніторингу та контролю енергоспоживанням портативних комп’ютерів»




Висновок

У результаті виконання курсового проекту створено системну утиліту «моніторингу та контролю енергоспоживанням портативних комп’ютерів», набуто практичні навички для роботи із системними викликами та розробки функціональних вузлів.

Розроблена утиліта відповідає всім вимогам поставленого завдання, має простий та зрозумілий інтерфейс, ефективні плани заощадження енергії та стабільну роботу без збоїв. Також у створеній утиліті є можливість зручно за допомогою повзунка змінювати яскравість екрану. Для перевірки результатів роботи утиліти було проведено тестування даної програми. У результаті тестування було знайдено та виправлено помилки.

 


Список літератури

1. В. Зиборов Visual C# 2010 на примерах

2. Системное программное обеспечение / А.В.Гордеев, А.Ю.Молчанов.

3. Э. Троелсен Язык программирования C# 2010 и платформа.NET 4.0

4. Колисниченко Секреты, настройка и оптимизация реестра Windows 7

5. Дж.Донован. Системное программирование.


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices;

using Microsoft.Win32;

using System.Collections;

using System.Security;

using System.Security.AccessControl;

using System.Security.Permissions;

using System.Diagnostics;

namespace Brightness

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

[DllImport("brightness_dll.dll", CharSet=CharSet.Ansi)]

public static extern string GetPowerStatus();

[DllImport("brightness_dll.dll", CharSet = CharSet.Ansi)]

public static extern string GetBatteryFlag();

[DllImport("brightness_dll.dll", CharSet = CharSet.Ansi)]

public static extern int GetBatteryPercent();

[DllImport("brightness_dll.dll", CharSet = CharSet.Ansi)]

public static extern int GetBatteryTime();

[DllImport("brightness_dll.dll", CharSet = CharSet.Ansi)]

public static extern int GetFullBatteryTime();

[DllImport("brightness_dll.dll", CharSet = CharSet.Ansi)]

public static extern void SetBrightness(int Brightness);

 

short val;

private void SwitchImg()

{

Image img = Image.FromFile(@"img\8.png");

if (GetPowerStatus() == "Power on")

{

if (GetBatteryPercent() >= 95)

img = Image.FromFile(@"img\1.png");

if (GetBatteryPercent() < 95 && GetBatteryPercent() >= 20)

img = Image.FromFile(@"img\2.png");

if (GetBatteryPercent() < 20)

img = Image.FromFile(@"img\7.png");

pictureBox1.Image = img;

}

if (GetPowerStatus() == "Power off")

{

if (GetBatteryPercent() > 50)

img = Image.FromFile(@"img\3.png");

if (GetBatteryPercent() == 50)

img = Image.FromFile(@"img\4.png");

if (GetBatteryPercent() < 50 && GetBatteryPercent() > 10)

img = Image.FromFile(@"img\5.png");

if (GetBatteryPercent() <= 10)

img = Image.FromFile(@"img\6.png");

pictureBox1.Image = img;

}

if (GetBatteryFlag() == "Батарея відсутня")

{

img = Image.FromFile(@"img\8.png");

pictureBox1.Image = img;

}

 

}

Hashtable pow = new Hashtable();

string Active;

private void GetPowers()

{

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

string[] powers = Key.GetSubKeyNames();

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

string Shema;

foreach (string str in powers)

{

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

Shema = (string)Key.GetValue("FriendlyName");

try

{

Shema = Shema.Remove(0, Shema.LastIndexOf(",") + 1);

}

catch { }

pow.Add(Shema, str);

}

}

private void Create_radio()

{

RadioButton[] rb = { radioButton1, radioButton2, radioButton3, radioButton4, radioButton5, radioButton6 };

int i = 0;

foreach (DictionaryEntry de in pow)

{

rb[i].Visible = true;

rb[i].Text = (string)de.Key;

if (Active == de.Value.ToString())

{

rb[i].Checked = true;

}

i++;

}

for (int j = 0; j < i - 1; j++)

{

int h = this.Height + 23;

this.Size = new Size(this.Width, h);

groupBox3.Height = groupBox3.Height + 23;

}

}

private void Form1_Load(object sender, EventArgs e)

{

trackBar1.Value = 5;

val = (short)trackBar1.Value;

val = (short)(val * 25.5);

SetBrightness(val);

label2.Text = GetPowerStatus();

label3.Text = GetBatteryFlag();

label4.Text = GetBatteryPercent().ToString() + "%";

int total = GetBatteryTime();

if (total == -1)

label5.Text = "Невідомо";

else

{

int s, m, h;

s = total % 60;

total = total / 60;

m = total % 60;

h = total / 60;

label5.Text = h.ToString() + ":" + m.ToString() + ":" + s.ToString();

}

SwitchImg();

GetPowers();

if (pow.Count!= 0)

{

int h = this.Height + 53;

this.Size = new Size(this.Width, h);

}

Create_radio();

}

private void trackBar1_Scroll(object sender, EventArgs e)

{

val = (short)trackBar1.Value;

val = (short)(val * 25.5);

SetBrightness(val);

}

 

private void timer1_Tick(object sender, EventArgs e)

{

label2.Text = GetPowerStatus();

label3.Text = GetBatteryFlag();

label4.Text = GetBatteryPercent().ToString() + "%";

int total = GetBatteryTime();

if (total == -1)

label5.Text = "Невідомо";

else

{

int s, m, h;

s = total % 60;

total = total / 60;

m = total % 60;

h = total / 60;

label5.Text = h.ToString() + ":" + m.ToString() + ":" + s.ToString();

}

SwitchImg();

}

 

private void radioButton6_CheckedChanged(object sender, EventArgs e)

{

ChangePow(radioButton6);

}

 

private void radioButton5_CheckedChanged(object sender, EventArgs e)

{

ChangePow(radioButton5);

}

 

private void radioButton4_CheckedChanged(object sender, EventArgs e)

{

ChangePow(radioButton4);

}

 

private void radioButton3_CheckedChanged(object sender, EventArgs e)

{

ChangePow(radioButton3);

}

 

private void radioButton2_CheckedChanged(object sender, EventArgs e)

{

ChangePow(radioButton2);

}

 

private void radioButton1_CheckedChanged(object sender, EventArgs e)

{

ChangePow(radioButton1);

}




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 218; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.