Bu yazımızda C# Windows Form projesi kullanarak ayarlanan zamana göre (saat,dakika,saniye) bilgisayarın kapanmasını sağlayan bir örnek gerçekleştireceğiz.
Formumuz aşağıdaki gibi olacak ve ilave olarak Timer nesnesi ekleyeceğiz. “Şimdi Kapat” butonuna basıldığında bilgisayarın hemen kapatılmasını,”Zaman Ayarla ve Kapat” butonuna basıldığında ise ilgili textBox kontrollerinde belirtilen saat,dakika ve saniye bilgisine göre kapanmasını sağlayacağız.
Kodlarımızı yazmaya başlayalım. Öncelikle;
1 2 3 |
using System.Diagnostics; |
Şimdi Kapat butonu için kodlarımız;
1 2 3 4 5 6 7 8 9 |
private void button1_Click(object sender, EventArgs e) { ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "C:\\Windows\\system32\\shutdown.exe"; psi.Arguments = "-f -s -t 0"; Process.Start(psi); } |
Zaman Ayarla ve Kapat butonu için ;
1 2 3 4 5 6 |
textBox1.Enabled = false; textBox2.Enabled = false; textBox3.Enabled = false; timer1.Start(); |
ve son olarak Timer_Tick için kodlarımız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
private void timer1_Tick(object sender, EventArgs e) { string saat, dakika, saniye; saat = textBox1.Text; dakika = textBox2.Text; saniye = textBox3.Text; if ((Convert.ToString(DateTime.Now.Hour)) == saat && (Convert.ToString(DateTime.Now.Minute) == dakika) && (Convert.ToString(DateTime.Now.Second)) == saniye) { ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "C:\\Windows\\system32\\shutdown.exe"; psi.Arguments = "-f -s -t 0"; Process.Start(psi); } } |
Bu işlemlerin sonucunda Bilgisayarımızın ayarladığımız saate göre kapanmasını sağlayacağız. Zaman ayarlaması yapıldıktan sonra herhangi bir nedenden iptal etmek isterseniz bir button daha ekleyerek timer nesnesini durdurabilirsiniz.
Kodlarımızın tamamı aşağıdaki şekilde olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics;//Ekle using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace bilgisayar_kapat { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "C:\\Windows\\system32\\shutdown.exe"; psi.Arguments = "-f -s -t 0"; Process.Start(psi); } private void button2_Click(object sender, EventArgs e) { textBox1.Enabled = false; textBox2.Enabled = false; textBox3.Enabled = false; timer1.Start(); } private void button3_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("shutdown", "-f -s"); } private void timer1_Tick(object sender, EventArgs e) { string saat, dakika, saniye; saat = textBox1.Text; dakika = textBox2.Text; saniye = textBox3.Text; if ((Convert.ToString(DateTime.Now.Hour)) == saat && (Convert.ToString(DateTime.Now.Minute) == dakika) && (Convert.ToString(DateTime.Now.Second)) == saniye) { ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "C:\\Windows\\system32\\shutdown.exe"; psi.Arguments = "-f -s -t 0"; Process.Start(psi); } } } } |
Önecikle Teşekkür ederim fakat kodların ne işe yaradığını anlatsaydınız daha iyi olurdu mantığını anlardık.