Jump to content

Visaul Studio Ile Commandline(cmd) Aracini Çalisti


wmismail

Recommended Posts

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. 1000001020_image001.jpg 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. 1000001020_image002.jpg

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. 1000001020_image003.jpg Ipconfig yazdik ve sonucumuzu bizim arayüzümüze verdi. Baska bir komut deneyelim. Kendimizi pingleyelim. 1000001020_image004.jpg Son olarak Hesap makinasinida çalistiralim : ) 1000001020_image005.jpg 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

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...