wmismail Posted August 10, 2008 Share Posted August 10, 2008 giriş Windows uygulamalari içinde Dos Command Line araci üzerinde yapabildigimiz herseyi yapabiliriz. Windows formalari içerisine bir takim kodlar ekleyerek CommandLine aracini kullanmak oldukça basitdir. Bu kodlari System.Diagnostics NameSpace’i içerisindeki Process classinin altinda bulabiliriz. System.Diagnostics Process Class Local Sistem processlerini baslatmak ve durdurmamamiza, remote processlere ve locale erismemize izin veren bir classtir. Kullanimi asagidaki gibidir. VB Public Class Process Inherits Component Dim instance As Process C# Public Class Process: Component Process instance; Process, PC üzerinde çalisarak bir processe erismeyi saglar. Bir Process belirli zamanlarda bir uygulamayi çalistirir, görüntüleme ve kontrol uygulamalarini baslatmak ve durdurmak için çok kullanislidir. Process componenetini kullanarak yeni bir process baslatabilir yada çalistirilacak processlerin listesini belirleyebilirsiniz. Evet arkadaşlar Projemizde kullanacagimiz namespace ve sinifimizi tanidiktan sonra örnegimize geçelim. Örnek Örnek uygulamamizda Command Line aracindaki gibi komutlari yazip çalistiracagiz. Örnek vermek gerekirse Ipconfig yazip ip bilgimizi, ping 127.0.0.1 yazip kendi makinamizi pinglememizi, notepad yazip Notepad’i çalistiracagiz(Simdilik aklima gelenler bunlar). Bu açiklamalardan sonra Visual Studio üzerinde bir windows uygulamasi açalim. Projemizi olusturduktan sonra formumuza, 1 Button ve 2 de textbox ekleyelim. 1. Textbox’a cmd üzerinde yazdigimiz komutlari yazacagiz ve 2. textboxda da sonucu ekrana yazdiracagiz. Evet yukaridada belirttigim gibi butona tikladigimizda CMD’deki gibi komutumuz çalistirilacak. Simdi bu söylediklerimizi koda dökelim. C# private void btnRun_Click(object sender, EventArgs e) { System.Diagnostics.Process p = new System.Diagnostics.Process();//process'in instancesini aldik p.StartInfo.FileName = "cmd";//Çalistirilacak file p.StartInfo.Arguments = "/c " + textBox1.Text;//file içerisine gönderilecek arguments p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//Komut çalistiginda Cmd penceresinin açilmasini engelledik p.StartInfo.CreateNoWindow = true;//Pencere Açilmasini engeller p.StartInfo.RedirectStandardOutput = true; p.StartInfo.UseShellExecute = false; p.Start();//process Çalistirilir string output = p.StandardOutput.ReadToEnd();//Çalisan Processin sonucu textBox2.Text = output;//Sonuç textboxa yazilir } VB# Private Sub btnRun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRun.Click Dim p As New System.Diagnostics.Process() p.StartInfo.FileName = "cmd" p.StartInfo.Arguments = "/c " + textBox1.Text p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden p.StartInfo.CreateNoWindow = True p.StartInfo.RedirectStandardOutput = True p.StartInfo.UseShellExecute = False p.Start() Dim output As String = p.StandardOutput.ReadToEnd() textBox2.Text = output End Sub Evet kodumuzu yazdik ve artik deneyebiliriz. Ipconfig yazdik ve sonucumuzu bizim arayüzümüze verdi. Baska bir komut deneyelim. Kendimizi pingleyelim. Son olarak Hesap makinasinida çalistiralim : ) Evet gördügümüz gibi başarıli bir sekilde vs.net içerisinde cmd de yaptığımiz tüm işlemleri yaptik. Bu makalenin de sonuna geldik, baska bir makalede görüşmek üzere başarı ve iyi günler dilerim. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.