تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التعامل مع جهاز الكمبيوتر من Command Prompt
#1
هذه بعض الدوال و الأفكار لتوضيح كيفية التعامل مع الكمبيوتر من Command Prompt و هذا يتم باستخدام الأوامر القديمة للدوس

تحذير
لا ينصح بالتعامل مع الدوال بدون فهم جيد للموضوع

الدالة الأولي كيفية الحصول علي MacAddress

PHP كود :
  Private Function GetMACAddress() As String
        Dim result 
As String ""

 
       Using p As Process = New Process
            Dim pi 
As ProcessStartInfo = New ProcessStartInfo
            pi
.Arguments "/c wmic nicconfig get MACAddress"
 
           pi.FileName "cmd"
 
           pi.RedirectStandardOutput True
            pi
.UseShellExecute False
            pi
.CreateNoWindow True
            p
.StartInfo pi
            p
.Start()

 
           Dim reader As StreamReader p.StandardOutput
            Dim sb 
As New Text.StringBuilder()
 
           Dim lines As String reader.ReadToEnd
            Dim 
list As New List(Of String)

 
           For Each l As String In lines
                If Not String
.IsNullOrEmpty(New String(l.ToCharArray().Where(Function(cNot Char.IsWhiteSpace(c)).ToArray())) Then
                    list
.Add(l)
 
               End If
 
           Next

            For Each line 
As String In list
 
               If Not String.IsNullOrEmpty(New String(line.ToCharArray().Where(Function(cNot Char.IsWhiteSpace(c)).ToArray())) Then
                    sb
.Append(line.Replace(":"" "))
 
               End If
 
           Next

            Dim s 
As String sb.ToString.Replace("MACAddress""")
 
           sb.Clear()

 
           For Each item In s.Split(" "c)
 
               For Each input As String In Enumerable.Range(0item.Length 2).Select(Function(iitem.Substring(22))
 
                   sb.Append(input)
 
                   sb.Append(" "c)
 
               Next

            Next

            result 
sb.ToString
        End Using

        Return result
.TrimEnd(" "c)
 
   End Function 

الإستخدام
PHP كود :
Dim macAddress As String GetMACAddress() 


الدالة الثانية قراءة التاريخ

PHP كود :
Private Function GetSystemDate() As String
        Dim result 
As String ""
 
       Using p As Process = New Process
            Dim pi 
As ProcessStartInfo = New ProcessStartInfo
            pi
.Arguments "/c date /t"
 
           pi.FileName "cmd"
 
           pi.RedirectStandardOutput True
            pi
.UseShellExecute False
            pi
.CreateNoWindow True
            p
.StartInfo pi
            p
.Start()

 
           Dim reader As StreamReader p.StandardOutput
            Dim sb 
As New Text.StringBuilder()
 
           Dim lines As String reader.ReadToEnd
            
' ممكن الإكتفاء بالسطر اعلاه من الكود و بالتالي نحصل علي التاريخ علي هيئة مصفوفة

            For Each l As String In lines
                result += l
            Next
        End Using

        result.Trim()
        ' 
************************************************************************************
 
       ' هذا الجزء من الكود من الممكن الإستغناء عنه و لاحقا نتعامل مع المخرجات كيفما أردنا
        Dim dt As String = result.Split(" "c)(0)
        result = result.Replace(dt, "").Trim
        ' 
************************************************************************************

 
       Return result
    End 
Function 

الإستخدام

PHP كود :
       Dim systemDateTime As String GetSystemDate() 

هذه عينة ويمكن استخدام نفس الاسلوب لقراءة المزيد من المعلومات عن الكمبيوتر
و أيضا يمكن استخدام نفس الفكرة لتغيير تاريخ النظام او إضافة فهرس او حذف ملف ...الي أخره
عموما الفكرة هنا تشبه الي حد كبير فكرة التعامل مع WMIC في System.Management


الكلاس التالي به المزيد من الأفكار
الكلاس انا كنت كتبته من فترة
وربما يحتاج للتعديل عليه قليلا


PHP كود :
Imports System.IO

Public Class OSInfo

    
''' <summary>
    ''' 
Get Information About Operating System such as CaptionCSDVersionOSArchitectureVersion
    
''' </summary>
    Public Sub New()

    End Sub

    Public ReadOnly Property Is64Bit As Boolean
        Get
            Return OSArchitecture.Contains("64")
        End Get
    End Property

    ''' 
<summary>
 
   ''' Get the name of the installed operating system
    ''' 
</summary>
 
   ''' <returns></returns>
    Public ReadOnly Property OSName As String
        Get
            Return GetCaption()
        End Get
    End Property

    ''' 
<summary>
 
   ''' Get The processor architecture of the installed operating system
    ''' 
</summary>
 
   ''' <returns></returns>
    Public ReadOnly Property OSArchitecture As String
        Get
            Return GetOSArchitecture()
        End Get
    End Property

    ''' 
<summary>
 
   ''' Get the version of the installed operating system
    ''' 
</summary>
 
   ''' <returns></returns>
    Public ReadOnly Property OSVersion As String
        Get
            Return GetVersion()
        End Get
    End Property

    ''' 
<summary>
 
   ''' Get the name of the most recent service pack installed
    ''' 
</summary>
 
   ''' <returns></returns>
    Public ReadOnly Property CSDVersion As String
        Get
            Return GetCSDVersion()
        End Get
    End Property

    Private Function GetSystemInfo(currentProcess As Process, func As Func(Of Process, String)) As String
        Return func(currentProcess)
    End Function

    Private Function GetOSArchitecture() As String

        Return GetSystemInfo(New Process, Function(current As Process)
                                              Using current
                                                  Dim pi As ProcessStartInfo = New ProcessStartInfo
                                                  Dim result As String = CType(Nothing, String)
                                                  pi.Arguments = "/c wmic OS Get OSArchitecture"
                                                  pi.FileName = "cmd"
                                                  pi.RedirectStandardOutput = True
                                                  pi.UseShellExecute = False
                                                  pi.CreateNoWindow = True
                                                  current.StartInfo = pi
                                                  current.Start()

                                                  Using reader As StreamReader = current.StandardOutput
                                                      result = reader.ReadToEnd()
                                                  End Using

                                                  Return result
                                              End Using

                                              Return Nothing
                                          End Function)

    End Function

    Private Function GetCaption() As String

        Return GetSystemInfo(New Process, Function(current As Process)
                                              Using current
                                                  Dim pi As ProcessStartInfo = New ProcessStartInfo
                                                  Dim result As String = CType(Nothing, String)
                                                  pi.Arguments = "/c wmic OS Get Caption"
                                                  pi.FileName = "cmd"
                                                  pi.RedirectStandardOutput = True
                                                  pi.UseShellExecute = False
                                                  pi.CreateNoWindow = True
                                                  current.StartInfo = pi
                                                  current.Start()
                                                  Using reader As StreamReader = current.StandardOutput
                                                      result = reader.ReadToEnd()
                                                  End Using
                                                  Return result
                                              End Using

                                              Return Nothing
                                          End Function)

    End Function

    Private Function GetCSDVersion() As String

        Return GetSystemInfo(New Process, Function(current As Process)
                                              Using current
                                                  Dim pi As ProcessStartInfo = New ProcessStartInfo
                                                  Dim result As String = CType(Nothing, String)
                                                  pi.Arguments = "/c wmic OS Get CSDVersion"
                                                  pi.FileName = "cmd"
                                                  pi.RedirectStandardOutput = True
                                                  pi.UseShellExecute = False
                                                  pi.CreateNoWindow = True
                                                  current.StartInfo = pi
                                                  current.Start()
                                                  Using reader As StreamReader = current.StandardOutput
                                                      result = reader.ReadToEnd()
                                                  End Using
                                                  Return result
                                              End Using

                                              Return Nothing
                                          End Function)

    End Function

    Private Function GetVersion() As String

        Return GetSystemInfo(New Process, Function(current As Process)
                                              Using current
                                                  Dim pi As ProcessStartInfo = New ProcessStartInfo
                                                  Dim result As String = CType(Nothing, String)
                                                  pi.Arguments = "/c wmic OS Get Version"
                                                  pi.FileName = "cmd"
                                                  pi.RedirectStandardOutput = True
                                                  pi.UseShellExecute = False
                                                  pi.CreateNoWindow = True
                                                  current.StartInfo = pi
                                                  current.Start()
                                                  Using reader As StreamReader = current.StandardOutput
                                                      result = reader.ReadToEnd()
                                                  End Using
                                                  Return result
                                              End Using

                                              Return Nothing
                                          End Function)

    End Function

End Class 
الرد
تم الشكر بواسطة: Fantastico , zinom , Basil Abdallah , CLARO , ابو ليلى , alsouf
#2
انت رائع باختصار Heart
الرد
تم الشكر بواسطة:
#3
شكرا وجزاك الله خيرا
قليل من يتطرق لهذه الامور فعلا امور هامة
الرد
تم الشكر بواسطة:
#4
ماشاء الله بارك الله فيك علي الشرح الممتاز
اللهم صلي علي نبي (الرحمه) محمد رسول الله وبارك علي اله وصحابته والتابعين  واحقن دماء امتنا واجعل بأسنا علي اعدائنا يا ارحم الراحمين
[b]امين [/b]



الرد
تم الشكر بواسطة:
#5
اشكرك و بهذه الطريقة ايضا نستطيع عمل برنامج لتغيير كلمة مرور الحاسوب عند نسيانها
ولا اعتقد انو يوجد برامج تقوم بتغيير كلمات المرور في حال نسيانها غير الcmd عن طريق الامر الاتي :
net user اسم المستخدم و هنا كلمة المرور
مثال
net user basel 12345612345
الرد
تم الشكر بواسطة: CLARO
#6
تقدر تعمل الكثير
مثلا تقدر تشغل برنامج
تقدر تفتح ملف dll و تنفذ محتواه
تقدر تفتح فهارس
تقدر تحذف ملفات
وتخلق فهارس او ملفات
تقدرس تقرا ملفات من علي فولد معين
ان شاء الله  ...... تقدر و تقدر وتقدر ان تصنع الكثير
بس لازم تكون فاهم ان اي تغييرات بتتم بهذا الاسلوب فهي تتم مباشرة
فقط كن حذرا و لا تستخدم الموضوع فيما يضر الأخرين
الرد
تم الشكر بواسطة: Basil Abdallah
#7
(22-12-16, 05:52 PM)silverlight كتب : تقدر تعمل الكثير
مثلا تقدر تشغل برنامج
تقدر تفتح ملف dll و تنفذ محتواه
تقدر تفتح فهارس
تقدر تحذف ملفات
وتخلق فهارس او ملفات
تقدرس تقرا ملفات من علي فولد معين
ان شاء الله  ...... تقدر و تقدر وتقدر ان تصنع الكثير
بس لازم تكون فاهم ان اي تغييرات بتتم بهذا الاسلوب فهي تتم مباشرة
فقط كن حذرا و لا تستخدم الموضوع فيما يضر الأخرين

صحيح بوركت و بشكل عام هذا يعني انا نقدر نتحكم بالحاسوب بشكل كامل
الرد
تم الشكر بواسطة:
#8
الأمر مرتبط بنظام التشغيل
و الحماية الموجودة عليه
لا تنسي انك بتصمم علي الفيجوال استوديو من انتاج مايكروسوفت
الويندوز من انتاج مايكروسوفت

أي أن أغلبية المبرجين و للأسف في بوتقة مايكروسوفت

عموما نعم تستطيع ان تتحكم بالحاسوب بشكل معقول
الرد
تم الشكر بواسطة: Basil Abdallah


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  نظرة على DropBox SDK و التعامل معها +برنامج رفع و تحميل ملفات ابو ليلى 3 698 14-04-20, 06:02 PM
آخر رد: الوايلي
Lightbulb [مقال] التعامل مع ملفات اوفيس من خلال مكتبة NPOI ابو ليلى 1 910 05-12-19, 04:32 PM
آخر رد: sofiane-phy
  [مقال] دوال التعامل مع النصوص Strings - VB.NET ابو ليلى 10 12,372 15-04-19, 07:09 PM
آخر رد: alsouf
Exclamation [VB.NET] التعامل مع ال CMD عن طريق ال TextBox YousefOkasha 5 1,637 02-06-18, 09:34 PM
آخر رد: YousefOkasha
  [مثال] تشغيل تقارير الريبورت فيو rdlc report, ReportViewer على جهاز العميل او جهاز اخر محمود بكرى 1 2,154 07-03-18, 05:28 PM
آخر رد: KH_Alaswad
  التعامل مع الصور Images في بيئة الدوت نت باستخدام +GDI - مقدمة RaggiTech 2 2,357 22-01-18, 12:49 AM
آخر رد: amna jamal
  التعامل مع الملفات الصوتية ........دردشة برمجية RaggiTech 8 7,117 28-11-17, 11:23 PM
آخر رد: ahmed4240
  حساب مكان الفورم علي شاشة الكمبيوتر silverlight 1 1,115 09-11-17, 09:35 PM
آخر رد: الوايلي
  تصوير شاشة الكمبيوتر في سطور قليلة و بسرعة silverlight 10 2,081 30-12-16, 10:22 PM
آخر رد: ابو روضة
Video [درس فيديو] هام مرة اخري تحذير للجميع في التعامل مع try والتكرار لعدد كبير ali.alfoly 1 1,393 13-12-16, 03:59 PM
آخر رد: Fantastico

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


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