منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[كود] كود تنفيد اوامر cmd في vb.net - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مكتبة اكواد VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=185)
+--- الموضوع : [كود] كود تنفيد اوامر cmd في vb.net (/showthread.php?tid=26203)



كود تنفيد اوامر cmd في vb.net - lanonymdz - 22-08-18

كود لتنفيد اوامر cmd في vb.net


كود :
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


صفحتي على فيسبوك:
https://www.facebook.com/almubarmij.alkhabith/


RE: كود تنفيد اوامر cmd في vb.net - elgokr - 22-08-18

السلام عليكم ورحمة الله وبركاته

ابسط كود لتطبيق اوامر الدوس مباشر من خلال VB.NET
عليك اضافة الـ Sub التالى
كود :
   Shared Sub RunCommandCom(command as String, arguments as String, permanent as Boolean)
       Dim p as Process = new Process()
       Dim pi as ProcessStartInfo = new ProcessStartInfo()
       pi.Arguments = " " + if(permanent = true, "/K" , "/C") + " " + command + " " + arguments
       pi.FileName = "cmd.exe"
       p.StartInfo = pi
       p.Start()
   End Sub

من ثم قم باستدعاء الكود التالى لتطبيق اوامر الدوس
كود :
MyUtilities.RunCommandCom("DIR", "/W", true)

حتى لا يذهب صاحب الكود
فالمصدر هنا

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



RE: كود تنفيد اوامر cmd في vb.net - kebboud - 25-08-18

(22-08-18, 10:51 PM)elgokr كتب :
السلام عليكم ورحمة الله وبركاته

ابسط كود لتطبيق اوامر الدوس مباشر من خلال VB.NET
عليك اضافة الـ Sub التالى
كود :
   Shared Sub RunCommandCom(command as String, arguments as String, permanent as Boolean)
       Dim p as Process = new Process()
       Dim pi as ProcessStartInfo = new ProcessStartInfo()
       pi.Arguments = " " + if(permanent = true, "/K" , "/C") + " " + command + " " + arguments
       pi.FileName = "cmd.exe"
       p.StartInfo = pi
       p.Start()
   End Sub

من ثم قم باستدعاء الكود التالى لتطبيق اوامر الدوس
كود :
MyUtilities.RunCommandCom("DIR", "/W", true)

حتى لا يذهب صاحب الكود
فالمصدر هنا

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

شكرا أخي الجوكر على الكود المهم فعلا ..
و شكرا على احترام إبداعات الآخرين..
أنت فعلا إنسان نزيه و نبيل


RE: كود تنفيد اوامر cmd في vb.net - elgokr - 25-08-18

الشكر لله والحمد لله

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



RE: كود تنفيد اوامر cmd في vb.net - anoname - 30-08-18

لقد قمت باصلاح مشاكل بهاذا الكود

كود :
       Dim p As Process = New Process()
       Dim pi As ProcessStartInfo = New ProcessStartInfo()
       If (permanent = True) Then
           pi.Arguments = " " + "/K" & "/C" + " " + command + " " + arguments
       End If
       pi.FileName = "cmd.exe"
       p.StartInfo = pi
       p.Start()
و اما عن الكود

كود :
MyUtilities.RunCommandCom("DIR", "/W", true)
فان الفيجوال يقول ان الخاصية MyUtilities لم تصرح و ارجوا حل سريع لهاذا الكود الثاني الصغير


RE: كود تنفيد اوامر cmd في vb.net - elgokr - 30-08-18

(30-08-18, 06:08 PM)anoname كتب : لقد قمت باصلاح مشاكل بهاذا الكود

كود :
       Dim p As Process = New Process()
       Dim pi As ProcessStartInfo = New ProcessStartInfo()
       If (permanent = True) Then
           pi.Arguments = " " + "/K" & "/C" + " " + command + " " + arguments
       End If
       pi.FileName = "cmd.exe"
       p.StartInfo = pi
       p.Start()
و اما عن الكود

كود :
MyUtilities.RunCommandCom("DIR", "/W", true)
فان الفيجوال يقول ان الخاصية MyUtilities لم تصرح و ارجوا حل سريع لهاذا الكود الثاني الصغير

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

فلا يلزم كل ذلك فقط استبدل سطر الكود بهذا السطر

كود :
RunCommandCom("DIR", "/W", true)

واستخدم كود الـ Sub بشكل طبيعي 
وبكده سيعمل معك بدون اى مشكلة


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



RE: كود تنفيد اوامر cmd في vb.net - thementalist - 03-09-18

هل من طريقة لمعرفة الاجهزة اللي معي علي الشبكه متصله ام لا


RE: كود تنفيد اوامر cmd في vb.net - elgokr - 04-09-18

(03-09-18, 06:33 PM)thementalist كتب : هل من طريقة لمعرفة الاجهزة اللي معي علي الشبكه متصله ام لا


نعم يمكنك فقط تابع هذا الرابط

وتعامل مع كود عرض الاسماء طريقة التى تناسبك
http://vb4arb.com/vb/showthread.php?tid=25556

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