Naravno.. Username = Marko, Pass = 1234. Evo koda:
>> FORMA 1
Code:
public partial class Form1 : Form
{
RegistryKey RunKljuc = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); //Pokretanje programa na start racunara (StartUp)
RegistryKey TimeKljuc = Registry.CurrentUser.CreateSubKey("ShutDownTimer"); //Kreiranje reg. kljuca
public Form1()
{
RunKljuc.SetValue("ShutDown", Application.ExecutablePath.ToString()); //RUN (StartUp)
InitializeComponent();
}
int minutaOdbrojavanje, vrednostReg, preostaloVremena;
//NA DUGME SHUTDOWN GASI, ILI STARTUJE TIMER
private void dugmeGasi_Click(object sender, EventArgs e)
{
try
{
if (RadiSvakiDan.Checked)
{
vrednostReg = minutaOdbrojavanje;
TimeKljuc.SetValue("Svaki dan", vrednostReg);
TimeKljuc.SetValue("Preostalo", vrednostReg);
timer1.Start();
}
else
{
TimeKljuc.SetValue("Svaki dan", 0);
TimeKljuc.SetValue("Preostalo", 0);
timer1.Start();
}
this.Hide();
this.ShowInTaskbar = false;
}
catch (Exception ex)
{
MessageBox.Show("Unesi podatke.", "Greska");
}
}
//NA DUGME U REDU DODAJE VREDNOST IZ TEXT BOXA U LABELU
private void URedu_Click(object sender, EventArgs e)
{
try
{
minutaOdbrojavanje = Convert.ToInt32(tbMinuta.Text) * 60;
lbVreme.Text = minutaOdbrojavanje.ToString();
}
catch (Exception ex)
{
MessageBox.Show("Unesi podatke.", "Greska");
}
}
//TIMER
private void timer1_Tick(object sender, EventArgs e)
{
minutaOdbrojavanje--;
lbVreme.Text = minutaOdbrojavanje.ToString();
tsOdbrojavanje.Text = minutaOdbrojavanje.ToString(); //U contextMenuStrip imam TextBox, tako da mogu da proverim koliko vremena je jos ostalo...
if (Convert.ToInt32(TimeKljuc.GetValue("Svaki dan")) > 0) //U slucaju da se izadje iz programe pre isteka vremena, pamti se koliko je jos vremena ostalo
{
preostaloVremena = minutaOdbrojavanje;
TimeKljuc.SetValue("Preostalo", preostaloVremena);
}
if (minutaOdbrojavanje == 0)
{
preostaloVremena = 0;
TimeKljuc.SetValue("Preostalo", preostaloVremena);
System.Diagnostics.Process.Start("shutdown.exe", "-s -t 0");
Application.Exit();
}
}
//PRI POKRETANJU PROGRAMA PROVERA SE DA LI JE PREOSTALO VREMENA, AKO JESTE NASTAVLJA SE ODBROJAVANJE...
private void Form1_Load(object sender, EventArgs e)
{
DateTime vremeGasenja = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0, 0);
int mesec = vremeGasenja.Month;
int dan = vremeGasenja.Day;
if (DateTime.Now.Day == dan && DateTime.Now.Month == mesec)
{
if (Convert.ToInt32(TimeKljuc.GetValue("Svaki dan")) > 0)
{
if (Convert.ToInt32(TimeKljuc.GetValue("Preostalo")) > 0)
{
minutaOdbrojavanje = Convert.ToInt32(TimeKljuc.GetValue("Preostalo"));
timer1.Start();
}
else
{
minutaOdbrojavanje = Convert.ToInt32(TimeKljuc.GetValue("Svaki dan"));
timer1.Start();
}
this.Hide();
this.ShowInTaskbar = false;
}
}
}
//NA MINIMIZE SAKRIVA FORMU
protected override void OnResize(EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.ShowInTaskbar = false;
//notifyIcon1.Visible = true;
this.Hide();
}
}
//NA SHOW IZ CONTEXTMENU-A PRIKAZUJE FORMU 2
private void tsShow_Click(object sender, EventArgs e)
{
try
{
Form2 f2 = new Form2(this);
f2.Show();
this.Hide();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//RESETOVANJE SVEGA
private void tbMinuta_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyCode == Keys.F11)
{
timer1.Stop();
lbVreme.Text = "";
tsOdbrojavanje.Text = "";
TimeKljuc.SetValue("Svaki dan", 0);
TimeKljuc.SetValue("Preostalo", 0);
Application.Exit();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//KLIK NA "X" PITA DA LI ZELIS DA IZADJES IZ PROGRAMA
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
if (e.CloseReason == CloseReason.UserClosing)
{
DialogResult zatvori = MessageBox.Show("Da li zelite da zatvorite program?", "ShutDown", MessageBoxButtons.YesNo);
if (zatvori == DialogResult.Yes)
Application.Exit();
else
e.Cancel = true;
}
else
Application.Exit();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//DUPLI KLIK NA IKONICU U TOOLBARU, RADI ISTO STO I SHOW...
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
try
{
Form2 f2 = new Form2(this);
f2.Show();
this.Hide();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
>> FORMA 2
Code:
public Form2(Form1 parent)
: base()
{
InitializeComponent();
this.ParentForm = parent;
}
Form1 ParentForm { get; set; }
const string USER = "Marko"; //USERNAME
const int PASS = 1234; //PASSWORD
//NA DUGME OK PROVERAVA DA LI SU UNETI PODACI TACNI, AKO JESU OTVORI FORMU 1
private void dugmeOk_Click(object sender, EventArgs e)
{
try
{
if (tbUser.Text == USER && Convert.ToInt32(tbPass.Text) == PASS)
{
Form1 f1 = new Form1();
ParentForm.Show();
ParentForm.ShowInTaskbar = true;
tbUser.Text = "";
tbPass.Text = "";
this.Hide();
}
else
MessageBox.Show("Pogresni podaci.", "GRESKA!");
}
catch (Exception ex)
{
MessageBox.Show("Pogresni podaci.", "GRESKA!");
}
}
//NA "X" MI SAKRIJE FORMU 2
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
this.Hide();
}
else
Application.Exit();
}
catch (Exception ex)
{
MessageBox.Show("Pogresni podaci.", "GRESKA!");
}
}
//ISTO KAO DUGME OK, SAMO ULAZAK NA "ENTER"...
private void tbPass_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
try
{
Form1 f1 = new Form1();
ParentForm.Show();
ParentForm.ShowInTaskbar = true;
tbUser.Text = "";
tbPass.Text = "";
this.Hide();
}
catch (Exception ex)
{
MessageBox.Show("Pogresni podaci.", "GRESKA!");
}
}
}
}