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

نسخة كاملة : كود تنفيد اوامر cmd في vb.net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كود لتنفيد اوامر 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/
السلام عليكم ورحمة الله وبركاته

ابسط كود لتطبيق اوامر الدوس مباشر من خلال 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)

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

تحياتى لك
وتمنياتى لك التوفيق
(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)

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

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

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

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

كود :
       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 لم تصرح و ارجوا حل سريع لهاذا الكود الثاني الصغير
(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 بشكل طبيعي 
وبكده سيعمل معك بدون اى مشكلة


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


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

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

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