AlexxBlog.com


Colţul meu pe Internet

Shutdown Uptime - C#

without comments

Am facut acest programel mai mult pentru a invata cateva lucruri noi.

Ce face?

Stinge calculatorul atunci cand ajunge la numarul n de minute de uptime. Il folosesc pentru fratele meu, astfel nu va sta tot timpul la calculator. Stiu ca exista sute de programe pe internet care fac acest lucru, dar am vrut sa ma ocup eu. Plus ca trebuia ceva foarte simplu pentru ca vor “lucra” si parintii mei cu el atunci cand eu nu sunt acasa.

In randurile urmatoare voi explica cum se face:

1. Deschideti un proiect C# si creati urmatoare interfata.

Shutdown uptime

2. Cele 5 label-uri de sus le-am redenumit astfel:

  • Label1 -> labelUptime;
  • Label2 -> labelUptimeValue;
  • Label3 -> labelEgal;
  • Label4 -> labelUptimeValueHours;

Textbox-ul l-am redenumit textTime, iar butoanele buttonOK si buttonClose;

Am luat un Timer din Tool Box pe care l-am redenumit timer1. (default)

3. Acum sa trecem la partea de cod.

Pentru a prelua uptime-ul calculatorului trebuie sa folosim namespace-ul System.Runtime.InteropServices. Deci il vom adauga cu ajutorul comenzii (langa celelalte namespace-uri)

using System.Runtime.InteropServices;

Apoi scriem urmatorul cod:

public string UptimeValue = ""; //definim variabila UptimeValue
private void timer1_Tick(object sender, EventArgs e) //dand click pe timer1 vom afisa aceasta functie
{
int SystemUptime = Environment.TickCount; // variabila SystemUptime preia valoarea uptime-ului (in milisecunde)
this.labelUptimeValue.Text = Convert.ToString(SystemUptime / 60000) + " minutes"; //labelUptimeValue preia valoare uptime-ului (in minute) pentru a fi afisata in interfata programului
this.labelUptimeValueHours.Text = Convert.ToString(SystemUptime / 3600000) + " hours"; //labelUptimeValueHours preia valoarea uptime-ului (in ore) pentru a fi afisata in interfata programului
UptimeValue = Convert.ToString(SystemUptime / 60000); //UptimeValue preia valoarea uptime-ului pentru a fi folosita in program
if (this.UptimeValue == this.textTime.Text) //daca UptimeValue este egala cu valoare scrisa in texbox
{
System.Diagnostics.Process.Start("Shutdown", "-s"); //se va stinge calculatorul
}
}

Dupa ce dam click pe butonul Close scriem doar

this.Close();

Acum totul ar trebui sa mearga. Un programel creat in 10 minute cu doar 40 linii de cod.

Am mai scris pe tema asta:

Written by Alex

May 5th, 2008 at 5:55 pm

Posted in Programare

Tagged with , ,

Leave a Reply