منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : التعديل على الكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام عليكم


انا عندي مشروع بسيط وهاذي صوره للمشروع 




وعندي كود للمشروع ولاكن الكود يحتاج تعديل حتى اذا ضغطت على زر الامر يضهر الامر في textbox 2


وهاذا الكود المطلوب تعديله حتى يتناسب مع المشروع وفكرة المشروع ان نضغط على زر ويضهر امر الدوس في textbox 2
الامر اسمه netstat -n
كود :
Public Class Form1
   Private psi As ProcessStartInfo
   Private cmd As Process
   Private Delegate Sub InvokeWithString(ByVal text As String)
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Try
           cmd.Kill()
       Catch ex As Exception
       End Try
       TextBox2.Clear()
       If TextBox1.Text.Contains(" ") Then
           psi = New ProcessStartInfo(TextBox1.Text.Split(" ")(0), TextBox1.Text.Split(" ")(1))
       Else
           psi = New ProcessStartInfo(TextBox1.Text$)
       End If
       Dim systemencoding As System.Text.Encoding
       System.Text.Encoding.GetEncoding(Globalization.CultureInfo.CurrentUICulture.TextInfo.OEMCodePage)
       With psi
           .UseShellExecute = False
           .RedirectStandardError = True
           .RedirectStandardOutput = True
           .RedirectStandardInput = True
           .CreateNoWindow = True
           .StandardOutputEncoding = systemencoding
           .StandardErrorEncoding = systemencoding
       End With
       cmd = New Process With {.StartInfo = psi, .EnableRaisingEvents = True}
       AddHandler cmd.ErrorDataReceived, AddressOf Async_Data_Received
       AddHandler cmd.OutputDataReceived, AddressOf Async_Data_Received
       cmd.Start()
       cmd.BeginOutputReadLine()
       cmd.BeginErrorReadLine()
   End Sub
   Private Sub Async_Data_Received(ByVal sender As Object, ByVal e As DataReceivedEventArgs)
       Me.Invoke(New InvokeWithString(AddressOf Sync_Output), e.Data)
   End Sub
   Private Sub Sync_Output(ByVal text As String)
       TextBox2.AppendText(text & Environment.NewLine)
       TextBox2.ScrollToCaret()
   End Sub
End Class
في الانتضار
اهلاً بك اخى dasktop 

يبدو انك تريد استخدام الكود لطباعة مستخرجات الامر netstat فقط
اذا كا الامر كذلك طبق ما ى الرد اذا كان الامر تريد تنفيذ جميع اوامر الـ Command
فعليك مراجعة رد اخى الغالي عبدالله الدوسري هو ملخص كل ذلك
على اى حال حتى توضح لك كيفية استخدام الكود

مرفق سورس + برنامج للاختبار
السورس (2015)

سيوضح لك كيفية التعامل مع الكود وتنفيذ الامر باكثر من طريقة
تم عمل بعض اللمسات على الكود ليقوم بعرض مستخراجات الامر بصورة افضل

اليك صور البرنامج للسورس المرفق

الشاشة الاولى وهو ظهور الامر من خلال عرضها فى TextBox1.Text


بمجرد الضغط على Next ستعرض الشاشة الثانية
وهو تنفيذ الامر مباشر دون كتابة او ظهور TxtBox1.Text


لاحظ الفرق بين الاكواد فى كلا من الشاشات وستوضح لك الفكرة كاملاً

تحياتى لك
وتمنيتى لك التوفيق