تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] كود تنفيد اوامر cmd في vb.net
#1
Brick 
كود لتنفيد اوامر 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/
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

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

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

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: kebboud , YousefOkasha , علي نوري
#3
(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)

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

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

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


    Heart ربي زدني علما  Heart

الرد }}}
تم الشكر بواسطة: elgokr
#4
الشكر لله والحمد لله

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#5
لقد قمت باصلاح مشاكل بهاذا الكود

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


تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:
#7
هل من طريقة لمعرفة الاجهزة اللي معي علي الشبكه متصله ام لا
الرد }}}
تم الشكر بواسطة: elgokr
#8
(03-09-18, 06:33 PM)thementalist كتب : هل من طريقة لمعرفة الاجهزة اللي معي علي الشبكه متصله ام لا


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

وتعامل مع كود عرض الاسماء طريقة التى تناسبك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم