مثبـت الموضوع الرسمى مكتبه سورسات البرمجيات حره ( بكل اللغات البرمجيه )

الموضوع في 'منتدى البـرامــج العـامــة' بواسطة black007, بتاريخ ‏أغسطس 20, 2016.

حالة الموضوع:
مغلق
  1. black007

    black007 مراقب عام (خبير فحص ملفات) فريق فحص زيزووم للحماية نجم الشهر المراقب العام المميز

    إنضم إلينا في:
    ‏يونيو 17, 2013
    المشاركات:
    4,158
    الإعجابات المتلقاة:
    22,164
    نقاط الجائزة:
    1,495
    الجنس:
    ذكر
    الإقامة:
    Egypt
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 7


    [​IMG]


    زوار وأعضاء منتديات زيزووم للأمن والحماية

    تحيه طيبه و أتمنى ان يكون الجميع بنعمة وعافية

    [​IMG]


    تتشرف إداره زيزووم للأمن والحماية بفتح هذا الموضوع الذى من خلاله نتيح لجميع الموهبين والمبدعين

    العرب بطرح أعمالهم على هيئه سورس كود

    لعمل البرمجيات الحره المفيده

    إيمانا بنشر العلم والمعرفه بين الجميع وحتى نحاكى التطور ونفتح باب للمبدعين العرب
    على أمل أن يكون هذا العمل خالص لوجه الله تعالى.



    حرصا منا علي تقديم كل ما هو افضل لكل اعضاء هذا المنتدي الرائع

    [​IMG]

    ونرجو قراءة الشروط و القوانين .. قبـل وضع اي مشاركة

    واهمها :
    ●»● القـــــــوانين العـــــــــامة لمنتــــديات زيــزووم للأمــن والحمـــــــاية ●»●

    علماً .. من لا يتقيد بـ الشروط , سيتـم حذف مشاركته

    [​IMG]

    [​IMG]



    [​IMG]


    ضوابـــط نشـــر السورســات داخـــل الموضـــوع


    [​IMG]




    1- يتم فتح موضوع فى قسم الشكاوى والاقتراحات وسيتم فحص السورس من خلالنا قبل وضعه هنا

    2- الموضوع سيحتوى على سورسات فقط بدون اى ردود ليكون مكتبه سورسات كامله

    3- يمنع بمنعا باتا نشر سورسات تحتوى على برامج ضاره ( سورسات برامج اختراق وتوابعها )

    4- سيتم كتابه السورس على هيئه ملف نصى txt ويتم ارفاقه بهذا الشكل

    كود PHP:
    MessageBox.Show("welcome To zyzoom.net ")


    5- يمنع نقل سورسات من مواقع اخرى دون ذكر المصدر + فى حاله كتابه سورس بمجهودك الشخصى اذكر حقوقك ولا تنسخ الكود وتسرقه وتقول من كتابتي

    6- سورسات اللغات البرمجيه المتاحه التى يتم نشرها (جميع اللغات البرمجيه متاحه ان شاء الله )

    7-يمنع نشر سورسات اسكربتات مواقع او مدونات

    8-منتديات زيزووم غير مسؤولة في حال وجود أخطاء بالسورسات ويتحمل العضو المشارك بها المسؤولية كاملة من البداية للنهاية.
    (و يُرجى عند إكتشاف أخطاء التبليغ عنها للتعامل معها).




    [​IMG]


    المشاركة مفتوحة لجميع المبدعين العرب بتقديم ونشر إبداعاتهم لإفادة الجميع

    ومتمنياتنا لكم بالتوفيق والسداد

    [​IMG] مـــع تحيـــــات مـــنتــديـــات زيــــــــزوووم للأمـــن والحـــمــايـــة [​IMG]


    [​IMG][​IMG][​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

     
    آخر تعديل: ‏أغسطس 23, 2016
    karim.a ،White Man ،prooonet و 19آخرون معجبون بهذا.
  2. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    على بركة الله نبدء

    السورس رقم 1 : إصلاح ملف الهوست


    لغة البرمجة : Autoit


    فائدة السورس : إعادة ملف الهوست إلى الوضع الإفتراضي


    كاتب السورس : عضو زيزوومي رفض ذكر اسمه : -_-


    السورس :

    كود PHP:
    #include-once
    #include <MsgBoxConstants.au3>

    Fix()

    Func Fix()
       
    Local $Path_File = @WindowsDir "\System32\drivers\etc\hosts"
       
    ;----------
       If 
    Not FileExists($Path_FileThen
           
    If MsgBox($MB_YESNO $MB_ICONWARNING $MB_RIGHT $MB_RTLREADING $MB_TOPMOST"يتعذر إكمال مهمة الإصلاح""لم يتم العثور على ملف الهوست ، هل ترغب بإنشاء ملف جديد وتحديثه ؟") = 7 Then Return False
       
    EndIf
       ;----------
       If 
    FileExists($Path_File) And StringInStr(FileGetAttrib($Path_File), "R"Then
           
    If Not FileSetAttrib($Path_File"-R"Then
               MsgBox
    ($MB_ICONWARNING $MB_RIGHT $MB_RTLREADING $MB_TOPMOST"يتعذر التعديل على ملف الهوست""النظام يرفض إزالة سمات القراءة للملف")
               Return 
    False
           
    EndIf
       EndIf
       ;----------
       If 
    FileExists($Path_File) And StringInStr(FileGetAttrib($Path_File), "H"Then
           
    If Not FileSetAttrib($Path_File"-H"Then
               MsgBox
    ($MB_ICONWARNING $MB_RIGHT $MB_RTLREADING $MB_TOPMOST"يتعذر التعديل على ملف الهوست""الملف مخفي والنظام يمنع التطبيق من إظهاره")
               Return 
    False
           
    EndIf
       EndIf
       ;----------
       
    Local $hOpen_File FileOpen($Path_File2)
       If 
    $hOpen_File = -1 Then
           MsgBox
    ($MB_ICONWARNING $MB_RIGHT $MB_RTLREADING $MB_TOPMOST"يتعذر التعديل على ملف الهوست""هُنالك أمر يمنع التطبيق من إكمال مهمة الإصلاح" & @CRLF & @CRLF "ونقترح عليك إغلاق برنامج الحماية إن وجد مؤقتاً ثم إعادة محاولة الإصلاح")
           Return 
    False
       
    EndIf
       ;----------
       If 
    Not FileWrite($hOpen_FileData()) Then
           FileClose
    ($hOpen_File)
           
    MsgBox($MB_ICONWARNING $MB_RIGHT $MB_RTLREADING $MB_TOPMOST"يتعذر التعديل على ملف الهوست""النظام يمنع التطبيق من إعادة تحديث الملف")
           Return 
    False
       
    EndIf
       ;----------
       
    FileClose($hOpen_File)
       ;----------
       
    MsgBox($MB_ICONINFORMATION $MB_RIGHT $MB_RTLREADING $MB_TOPMOST"نجاح العملية""تم تحديث ملف الهوست بالمحتوى الافتراضي للنظام")
       ;----------
       Return 
    True
    EndFunc   
    ;==>Fix

    Func Data
    ()
       
    Local $Year$Addition
       
    ;----------
       Switch @
    OSVersion
           
    Case "WIN_VISTA"
               
    $Year "2006"

           
    Case "WIN_7"
               
    $Year "2009"

           
    Case "WIN_8"
               
    $Year "2012"

           
    Case "WIN_81"
               
    $Year "2013"

           
    Case "WIN_10"
               
    $Year "2015"
       
    EndSwitch
       ;----------
       Switch @
    OSVersion
           
    Case "WIN_VISTA"
               
    $Addition "127.0.0.1       localhost" & @CRLF "::1             localhost"

           
    Case Else
               
    $Addition "# localhost name resolution is handle within DNS itself." & @CRLF _
                       
    "#       127.0.0.1       localhost" & @CRLF _
                       
    "#       ::1             localhost"
       
    EndSwitch
       ;----------
       Return 
    "# Copyright (c) 1993-" $Year " Microsoft Corp." & @CRLF _
               
    "#" & @CRLF _
               
    "# This is a sample HOSTS file used by Microsoft TCP/IP for Windows." & @CRLF _
               
    "#" & @CRLF _
               
    "# This file contains the mappings of IP addresses to host names. Each" & @CRLF _
               
    "# entry should be kept on an individual line. The IP address should" & @CRLF _
               
    "# be placed in the first column followed by the corresponding host name." & @CRLF _
               
    "# The IP address and the host name should be separated by at least one" & @CRLF _
               
    "# space." & @CRLF _
               
    "#" & @CRLF _
               
    "# Additionally, comments (such as these) may be inserted on individual" & @CRLF _
               
    "# lines or following the machine name denoted by a '#' symbol." & @CRLF _
               
    "#" & @CRLF _
               
    "# For example:" & @CRLF _
               
    "#" & @CRLF _
               
    "#      102.54.94.97     rhino.acme.com          # source server" & @CRLF _
               
    "#       38.25.63.10     x.acme.com              # x client host" & @CRLF & @CRLF _
               $Addition
    EndFunc   
    ;==>Data

     
    آخر تعديل: ‏سبتمبر 16, 2016
  3. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1

    السورس رقم 2 : إظهار الخدمات المثبتة


    لغة البرمجة : Autoit


    فائدة السورس : تقرير عن خدمات الويندوز والبرامج المثبتة & وإظهار تفاصيل عنها (حالة بدء التشغيل & قيمة الريجستري & الحساب) مع إمكانية طباعة التقرير


    كاتب السورس : عضو زيزوومي رفض ذكر اسمه


    السورس :


    كود PHP:
    #RequireAdmin

    #include <FileConstants.au3>
    #include <String.au3>
    #include <Array.au3>

    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report Services.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFileServices("[Status]"True"Status"))
        
    FileClose($hFile)
        If 
    FileExists("Report Services.log"Then ShellExecute("Report Services.log")
    EndIf
    ;------------------------------

    Func Services($Items "[Name Key in Registry][Status][Type Startup][Name Account]"$Enable_Sort False$Sort_by "Status")
        
    #cs
            
    $Items العناصر المراد إظهارها
            $Enable_Sort 
    True إذا أردت تمكين الفرز غير القيمة إلى
            $Sort_by 
    ضع أسم العنصر ليتم فرز المعلومات من خلاله
        
    #ce
        
    ;==========
        
    Local $Object_WMI ObjGet("Winmgmts:\\" & @ComputerName "\Root\Cimv2")
        If 
    Not IsObj($Object_WMIThen Return "===== الخدمات =====" & @CRLF & @CRLF ">>> فشل في البحث عن الخدمات"
        
    ;==========
        
    Local $Query $Object_WMI.ExecQuery("SELECT * FROM Win32_Service")
        ;==========
        
    $Items _StringBetween($Items"[""]")
        ;==========
        
    Local $Array[0][UBound($Items) + 1]
        
    Local $i$x$Row
        
    ;==========
        For 
    $i In $Query
            ReDim $Array
    [UBound($Array$UBOUND_ROWS) + 1][UBound($Array$UBOUND_COLUMNS)]
            ;---
            
    $Row UBound($Array$UBOUND_ROWS) - 1
            
    ;---
            If 
    UBound($Items) = 0 Then
                $Array
    [$Row][0] = $i.Caption
            
    Else
                
    $Array[$Row][0] = "اسم الخدمة : " $i.Caption
            
    EndIf
            ;---
            For 
    $x 1 To UBound($Array$UBOUND_COLUMNS) - 1
                
    Switch $Items[$x 1]
                    Case 
    "Name Key in Registry"
                        
    $Array[$Row][$x] = "مسمى المفتاح في الريجستري : " $i.Name

                    
    Case "Status"
                        
    Switch $i.State
                            
    Case "Running"
                                
    $Array[$Row][$x] = "الحالة : تعمل"

                            
    Case "Stopped"
                                
    $Array[$Row][$x] = "الحالة : متوقفه"

                            
    Case "Paused"
                                
    $Array[$Row][$x] = "الحالة : تم إيقافها مؤقتاً"

                            
    Case Else
                                
    $Array[$Row][$x] = "الحالة : غير معروفة"
                        
    EndSwitch

                    Case 
    "Type Startup"
                        
    Switch $i.StartMode
                            
    Case "Auto"
                                
    $Array[$Row][$x] = "نوع بدء التشغيل : تلقائي"

                            
    Case "Manual"
                                
    $Array[$Row][$x] = "نوع بدء التشغيل : يدوي"

                            
    Case "Disabled"
                                
    $Array[$Row][$x] = "نوع بدء التشغيل : معطل"

                            
    Case "Boot"
                                
    $Array[$Row][$x] = "نوع بدء التشغيل : قبل تحميل نظام التشغيل"

                            
    Case "System"
                                
    $Array[$Row][$x] = "نوع بدء التشغيل : قبل تهيئة نظام التشغيل"

                            
    Case Else
                                
    $Array[$Row][$x] = "نوع بدء التشغيل : غير معروف"
                        
    EndSwitch

                    Case 
    "Name Account"
                        
    If StringIsSpace($i.StartNameThen
                            $Array
    [$Row][$x] = "تعمل من حساب : غير معروف"
                        
    Else
                            
    $Array[$Row][$x] = "تعمل من حساب : " $i.StartName
                        
    EndIf
                EndSwitch
            
    Next
        Next
        
    ;==========
        If 
    $Enable_Sort True Then
            
    For $i 0 To UBound($Items) - 1
                
    If $Items[$i] = $Sort_by Then
                    _ArraySort
    ($Array100$i 1)
                    
    ExitLoop
                
    EndIf
            
    Next
        
    Else
            
    _ArraySort($Array)
        EndIf
        ;==========
        
    Local $Save_Resault
        
    For $i 0 To UBound($Array$UBOUND_ROWS) - 1
            
    For $x 0 To UBound($Array$UBOUND_COLUMNS) - 1
                $Save_Resault 
    &= $Array[$i][$x] & @CRLF
            Next
            
    If UBound($Array$UBOUND_COLUMNS) > 1 Then $Save_Resault &= @CRLF
        Next
        
    ;==========
        If 
    StringIsSpace($Save_ResaultThen
            
    Return "===== الخدمات =====" & @CRLF & @CRLF ">>> لا توجد خدمات"
        
    Else
            Return 
    "===== الخدمات =====" & @CRLF & @CRLF StringStripWS($Save_Resault2)
        EndIf
    EndFunc   ;==>Services
     
    abu_youssef ،karim.a و ضياء نورالدين معجبون بهذا.
  4. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 3 : إظهار البرامج المثبتة

    لغة البرمجة : Autoit


    فائدة السورس : تقرير عن البرامج المثبتة ويتميز السورس بـ :

    1- إظهار اسم الناشر - تاريخ التثبيت - الحجم - الإصدار - عنوان الدعم - كود إلغاء التثبيت
    2-
    فرز الأسماء حسب العنصر الذي تريد سواء تاريخ التثبيت أو غيره من العناصر بالأعلى


    كاتب السورس : المبدع / @ihere


    السورس :
    كود PHP:
    #RequireAdmin
    #include <Date.au3>
    #include <String.au3>
    #include <WinAPIFiles.au3>
    #include <Array.au3>
    #include <WinAPIReg.au3>


    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report Programs Installed.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFilePrograms_Installed("[Date]"True"Date"))
        
    FileClose($hFile)
        If 
    FileExists("Report Programs Installed.log"Then ShellExecute("Report Programs Installed.log")
    EndIf
    ;------------------------------


    Func Programs_Installed($Items "[Publisher][Date][Size][Version][Url][Uninstall]"$Enable_Sort False$Sort_by "Date")
        
    #cs
            
    $Items العناصر المراد إظهارها
            $Enable_Sort 
    True إذا أردت تمكين الفرز غير القيمة إلى
            $Sort_by 
    ضع أسم العنصر ليتم فرز المعلومات من خلاله
        
    #ce
        
    ;==========
        Switch @
    OSArch
            
    Case "X86"
                
    Local $Paths[2] = ["HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall""HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall"]

            Case Else
                
    Local $Paths[3] = ["HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall""HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall""HKLM64\Software\Microsoft\Windows\CurrentVersion\Uninstall"]
        EndSwitch
        ;==========
        
    $Items _StringBetween($Items"[""]")
        ;==========
        
    Local $tItems UBound($Items) + 1
        Local $Array
    [0][$tItems]
        
    Local $i$x$Counter_Paths 0$Name_Key$Save_Temp$Row
        
    ;==========
        For 
    $i 0 To UBound($Paths) - 1
            
    While 1
                $Counter_Paths 
    += 1
                
    ;==========
                
    $Name_Key RegEnumKey($Paths[$i], $Counter_Paths)
                If @
    error Then
                    $Counter_Paths 
    0
                    ContinueLoop 2
                
    EndIf
                ;==========
                
    $Save_Temp RegRead($Paths[$i] & "\" & $Name_Key, "DisplayName")
                If @error Or StringRegExp(
    $Save_Temp, "(?i)(KB\d+)") Or RegRead($Paths[$i] & "\" & $Name_Key, "SystemComponent") Or RegRead($Paths[$i] & "\" & $Name_Key, "ParentKeyName") Then ContinueLoop
                ;==========
                ReDim 
    $Array[UBound($Array, $UBOUND_ROWS) + 1][UBound($Array$UBOUND_COLUMNS)]
                ;==========
                
    $Row = UBound($Array$UBOUND_ROWS) - 1
                ;==========
                If UBound(
    $Items) = 0 Then
                    
    $Array[$Row][0] = $Save_Temp
                Else
                    
    $Array[$Row][0] = "اسم البرنامج " & $Save_Temp
                EndIf
                ;==========
                For 
    $x = 1 To UBound($Array$UBOUND_COLUMNS) - 1
                    Switch 
    $Items[$x - 1]
                        Case "
    Publisher"
                            
    $Save_Temp = RegRead($Paths[$i] & "\" & $Name_Key, "Publisher")
                            If @error Or StringIsSpace(
    $Save_Temp) Then
                                
    $Array[$Row][$x] = "الناشر غير معروف"
                            Else
                                
    $Array[$Row][$x] = "الناشر " & $Save_Temp
                            EndIf

                        Case "
    Date"
                            
    $Save_Temp = RegRead($Paths[$i] & "\" & $Name_Key, "InstallDate")
                            If @error Or StringIsSpace(
    $Save_Temp) Then
                                
    $Save_Temp = Date_Key($Paths[$i] & "\" & $Name_Key)
                                If 
    $Save_Temp = "Error" Then
                                    
    $Array[$Row][$x] = "تاريخ التثبيت غير معروف"
                                Else
                                    
    $Array[$Row][$x] = "تاريخ التثبيت " & $Save_Temp
                                EndIf
                            Else
                                
    $Array[$Row][$x] = "تاريخ التثبيت " & StringRegExpReplace($Save_Temp, "(\d{4})(\d{2})(\d{2})", "$1/$2/$3")
                            EndIf

                        Case "
    Size"
                            
    $Save_Temp = RegRead($Paths[$i] & "\" & $Name_Key, "EstimatedSize")
                            If @error Or StringIsSpace(
    $Save_Temp) Then
                                
    $Array[$Row][$x] = "الحجم غير معروف"
                            Else
                                
    $Array[$Row][$x] = "الحجم " & _WinAPI_StrFormatByteSize($Save_Temp * 1024)
                            EndIf

                        Case "
    Version"
                            
    $Save_Temp = RegRead($Paths[$i] & "\" & $Name_Key, "DisplayVersion")
                            If @error Or StringIsSpace(
    $Save_Temp) Then
                                
    $Array[$Row][$x] = "الإصدار غير معروف"
                            Else
                                
    $Array[$Row][$x] = "الإصدار " & $Save_Temp
                            EndIf

                        Case "
    Url"
                            
    $Save_Temp = RegRead($Paths[$i] & "\" & $Name_Key, "URLInfoAbout")
                            If @error Or StringIsSpace(
    $Save_Temp) Then
                                
    $Array[$Row][$x] = "عنوان الدعم غير معروف"
                            Else
                                
    $Array[$Row][$x] = "عنوان الدعم " & $Save_Temp
                            EndIf

                        Case "
    Uninstall"
                            
    $Save_Temp = RegRead($Paths[$i] & "\" & $Name_Key, "UninstallString")
                            If @error Or StringIsSpace(
    $Save_Temp) Then
                                
    $Array[$Row][$x] = "كود إلغاء التثبيت غير معروف"
                            Else
                                If StringInStr(
    $Save_Temp, "msiexec") And Not StringInStr($Save_Temp, "REMOVE=ALL") Then
                                    
    $Array[$Row][$x] = "كود إلغاء التثبيت " & StringReplace($Save_Temp, "/i", "/X")
                                Else
                                    
    $Array[$Row][$x] = "كود إلغاء التثبيت " & $Save_Temp
                                EndIf
                            EndIf
                    EndSwitch
                Next
            WEnd
        Next
        ;==========
        If 
    $Enable_Sort = True Then
            For 
    $i = 0 To UBound($Items) - 1
                If 
    $Items[$i] = $Sort_by Then
                    _ArraySort(
    $Array, 1, 0, 0, $i + 1)
                    ExitLoop
                EndIf
            Next
        Else
            _ArraySort(
    $Array)
        EndIf
        ;==========
        
    $Save_Temp = ''
        For 
    $i = 0 To UBound($Array$UBOUND_ROWS) - 1
            For 
    $x = 0 To UBound($Array$UBOUND_COLUMNS) - 1
                
    $Save_Temp &= $Array[$i][$x] & @CRLF
            Next
            If UBound(
    $Array$UBOUND_COLUMNS) > 1 Then $Save_Temp &= @CRLF
        Next
        ;==========
        If StringIsSpace(
    $Save_Temp) Then
            Return "
    ===== البرامج المثبته =====" & @CRLF & @CRLF & ">>> لا توجد برامج"
        Else
            Return "
    ===== البرامج المثبته =====" & @CRLF & @CRLF & StringStripWS($Save_Temp, 1 + 2)
        EndIf
    EndFunc   ;==>Programs_Installed


    Func Date_Key(
    $Key)
        Local 
    $Root = $HKEY_LOCAL_MACHINE$Access = $KEY_QUERY_VALUE
        ;==========
        Select
            Case StringLeft(
    $Key, 5) = "HKCU\"
                
    $Root = $HKEY_CURRENT_USER
                
    $Key = StringTrimLeft($Key, 5)

            Case StringLeft(
    $Key, 5) = "HKLM\"
                
    $Key = StringTrimLeft($Key, 5)

            Case StringLeft(
    $Key, 7) = "HKLM64\"
                
    $Key = StringTrimLeft($Key, 7)
                
    $Access += $KEY_WOW64_64KEY
        EndSelect
        ;==========
        Local 
    $hKey = _WinAPI_RegOpenKey($Root$Key$Access)
        If 
    $hKey = 0 And @error <> 0 Then Return "Error"
        ;==========
        Local 
    $vTemp = _WinAPI_RegQueryLastWriteTime($hKey)
        If @error <> 0 Then Return "
    Error"
        ;==========
        
    $vTemp = _Date_Time_FileTimeToLocalFileTime($vTemp)
        ;==========
        Local 
    $sConvert = _Date_Time_FileTimeToSystemTime($vTemp)
        ;==========
        _WinAPI_RegCloseKey(
    $hKey)
        ;==========
        Local 
    $Result = _WinAPI_GetDateFormat(0, $sConvert, 0, "yyyy/MM/dd")
        ;==========
        If StringIsSpace(
    $Result) Then
            Return "
    Error"
        Else
            Return 
    $Result
        EndIf
    EndFunc   ;==>Date_Key
     
    abu_youssef ،ضياء نورالدين و karim.a معجبون بهذا.
  5. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 4 : إظهار برامج الويندوز في ويندوز 8 & 8.1 & 10

    لغة البرمجة : Autoit


    فائدة السورس : تقرير عن برامج الويندوز المثبتة ويتميز السورس بـ :

    إظهار الإصدار و تاريخ التثبيت و كود إلغاء التثبيت
    (مع الملاحظة بأن كود إلغاء التثبيت يتم وضعه في محرر powershell ليتم إلغاء تثبيت البرنامج)

    وبالإمكان ايضاً فرز أسماء البرامج حسب العناصر السابقة كـ تاريخ التثبيت مثلاً


    صورة لبرامج الويندوز المعنية :

    [​IMG]

    كاتب السورس : المبدع / @ihere


    السورس :

    كود PHP:
    #RequireAdmin
    #include <Date.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <WinAPIReg.au3>


    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report Programs Windows.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFilePrograms_Windows("[Date]"True"Date"))
        
    FileClose($hFile)
        If 
    FileExists("Report Programs Windows.log"Then ShellExecute("Report Programs Windows.log")
    EndIf
    ;------------------------------


    Func Programs_Windows($Items "[Version][Date][Uninstall]"$Enable_Sort False$Sort_by "Date")
        
    #cs
            
    $Items العناصر المراد إظهارها
            $Enable_Sort 
    True إذا أردت تمكين الفرز غير القيمة إلى
            $Sort_by 
    ضع أسم العنصر ليتم فرز المعلومات من خلاله
        
    #ce
        
    ;==========
        If @
    OSVersion <> "WIN_8" And @OSVersion <> "WIN_81" And @OSVersion <> "WIN_10" Then Return "===== برامج الويندوز =====" & @CRLF & @CRLF ">>> النظام غير مدعوم وفقط يدعم نظام ويندوز 8 و 8.1 و 10"
        
    ;==========
        
    $Items _StringBetween($Items"[""]")
        ;==========
        
    Local $tItems UBound($Items) + 1_
                $Array
    [0][$tItems], _
                $i 
    0_
                $Path 
    "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages"_
                $x
    _
                $Name_Key
    _
                $Save_Value
    _
                $Save_Temp_1
    _
                $Save_Temp_2
    _
                $Row
        
    ;==========
        If 
    UBound($Items) > 0 Then $Save_Temp_1 "الأسم : "
        
    ;==========
        While 
    1
            $i 
    += 1
            
    ;==========
            
    $Name_Key RegEnumKey($Path$i)
            If @
    error Then ExitLoop
            
    ;==========
            
    $Save_Value RegRead($Path "\" & $Name_Key, "PackageRootFolder")
            If @error Or Not StringInStr(
    $Save_Value, "\WindowsApps\") Then ContinueLoop
            ;==========
            
    $Save_Value = RegRead($Path & "\" & $Name_Key, "PackageID")
            If @error Or StringIsSpace(
    $Save_Value) Then ContinueLoop
            ;==========
            ReDim 
    $Array[UBound($Array, $UBOUND_ROWS) + 1][UBound($Array$UBOUND_COLUMNS)]
            ;==========
            
    $Row = UBound($Array$UBOUND_ROWS) - 1
            ;==========
            
    $Save_Temp_2 = StringSplit($Save_Value, "_", -1)
            If @error Then
                
    $Array[$Row][0] = $Save_Temp_1 & $Save_Value
            Else
                
    $Array[$Row][0] = $Save_Temp_1 & $Save_Temp_2[0]
            EndIf
            ;==========
            For 
    $x = 1 To UBound($Array$UBOUND_COLUMNS) - 1
                Switch 
    $Items[$x - 1]
                    Case "
    Version"
                        If IsArray(
    $Save_Temp_2) Then
                            
    $Array[$Row][$x] = "الإصدار " & $Save_Temp_2[1]
                        Else
                            
    $Array[$Row][$x] = "الإصدار غير معروف"
                        EndIf

                    Case "
    Date"
                        
    $Save_Temp_2 = Date_Key($Path & "\" & $Name_Key)
                        If 
    $Save_Temp_2 = "Error" Then
                            
    $Array[$Row][$x] = "تاريخ التثبيت غير معروف"
                        Else
                            
    $Array[$Row][$x] = "تاريخ التثبيت " & $Save_Temp_2
                        EndIf

                    Case "
    Uninstall"
                        
    $Array[$Row][$x] = "كود إلغاء التثبيت " & "Remove-AppxPackage " & $Save_Value
                EndSwitch
            Next
        WEnd
        ;==========
        If 
    $Enable_Sort Then
            For 
    $i = 0 To UBound($Items) - 1
                If 
    $Items[$i] = $Sort_by Then
                    _ArraySort(
    $Array, 1, 0, 0, $i + 1)
                    ExitLoop
                EndIf
            Next
        Else
            _ArraySort(
    $Array)
        EndIf
        ;==========
        
    $Save_Temp_1 = ''
        For 
    $i = 0 To UBound($Array$UBOUND_ROWS) - 1
            For 
    $x = 0 To UBound($Array$UBOUND_COLUMNS) - 1
                
    $Save_Temp_1 &= $Array[$i][$x] & @CRLF
            Next
            If UBound(
    $Array$UBOUND_COLUMNS) > 1 Then $Save_Temp_1 &= @CRLF
        Next
        ;==========
        If StringIsSpace(
    $Save_Temp_1) Then
            Return "
    ===== برامج الويندوز =====" & @CRLF & @CRLF & ">>> لا توجد برامج"
        Else
            Return "
    ===== برامج الويندوز =====" & @CRLF & @CRLF & StringStripWS($Save_Temp_1, 1 + 2)
        EndIf
    EndFunc   ;==>Programs_Windows


    Func Date_Key(
    $Key)
        Local 
    $Root = $HKEY_LOCAL_MACHINE$Access = $KEY_QUERY_VALUE
        ;==========
        Select
            Case StringLeft(
    $Key, 5) = "HKCU\"
                
    $Root = $HKEY_CURRENT_USER
                
    $Key = StringTrimLeft($Key, 5)

            Case StringLeft(
    $Key, 5) = "HKLM\"
                
    $Key = StringTrimLeft($Key, 5)

            Case StringLeft(
    $Key, 7) = "HKLM64\"
                
    $Key = StringTrimLeft($Key, 7)
                
    $Access += $KEY_WOW64_64KEY
        EndSelect
        ;==========
        Local 
    $hKey = _WinAPI_RegOpenKey($Root$Key$Access)
        If 
    $hKey = 0 And @error <> 0 Then Return "Error"
        ;==========
        Local 
    $vTemp = _WinAPI_RegQueryLastWriteTime($hKey)
        If @error <> 0 Then Return "
    Error"
        ;==========
        
    $vTemp = _Date_Time_FileTimeToLocalFileTime($vTemp)
        ;==========
        Local 
    $sConvert = _Date_Time_FileTimeToSystemTime($vTemp)
        ;==========
        _WinAPI_RegCloseKey(
    $hKey)
        ;==========
        Local 
    $Result = _WinAPI_GetDateFormat(0, $sConvert, 0, "yyyy/MM/dd")
        ;==========
        If StringIsSpace(
    $Result) Then
            Return "
    Error"
        Else
            Return 
    $Result
        EndIf
    EndFunc   ;==>Date_Key
     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  6. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 5 : إظهار البرامج التي تم التحكم في طريقة تشغيلها

    لغة البرمجة : Autoit

    فائدة السورس : تقرير عن البرامج التي تم التحكم في طريقة تشغيلها ويتميز السورس بـ :

    بإظهار اسم البرنامج المتحكِم و تاريخ إنشاء المفتاح أو تحديثه و مسار الإضافة في الريجستري
    وبالإمكان ايضاً الفرز بحسب العناصر السابقة كـ المسار مثلاً


    مثال للتوضيح :

    نلاحظ بالتقرير التالي أن برنامج بروسيس هاكر راح يشتغل بديلاً عن التاسك مانيجر ( إدارة المهام )
    ف الفايروسات من الممكن أنها تستغل المفتاح Image File Execution Options في الريجستري لإعادة توجيه التشغيل لصالح ملفاتها


    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin[/COLOR][/SIZE][/FONT][/RIGHT][/COLOR][/SIZE][/FONT][/RIGHT]
    [FONT=Arial][SIZE=4][COLOR=#000066]
    [RIGHT][FONT=Arial][SIZE=4][COLOR=#000066]
    [RIGHT]#include <Date.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <WinAPIReg.au3>


    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report Debugger.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFileDebugger("[Controller][Date]"True"Date"))
        
    FileClose($hFile)
        If 
    FileExists("Report Debugger.log"Then ShellExecute("Report Debugger.log")
    EndIf
    ;------------------------------


    Func Debugger($Items "[Controller][Date][Path]"$Enable_Sort False$Sort_by "Date")
        
    #cs
            
    $Items العناصر المراد إظهارها
            $Enable_Sort 
    True إذا أردت تمكين الفرز غير القيمة إلى
            $Sort_by 
    ضع أسم العنصر ليتم فرز المعلومات من خلاله
        
    #ce
        
    ;==========
        Switch @
    OSArch
            
    Case "X86"
                
    Local $Paths[2] = [ _
                        
    "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"_
                        
    "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"]

            Case Else
                
    Local $Paths[3] = [ _
                        
    "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"_
                        
    "HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"_
                        
    "HKLM64\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"]
        EndSwitch
        ;==========
        
    $Items _StringBetween($Items"[""]")
        ;==========
        
    Local $tItems UBound($Items) + 1_
                $Array
    [0][$tItems], _
                $Counter_Paths 
    0_
                $Save_Temp_1
    _
                $Save_Temp_2
    _
                $i
    _
                $x
    _
                $Name_Key
    _
                $Row
        
    ;==========
        If 
    UBound($Items) > 0 Then $Save_Temp_1 "البرنامج الأساسي : "
        
    ;==========
        For 
    $i 0 To UBound($Paths) - 1
            
    While 1
                $Counter_Paths 
    += 1
                
    ;==========
                
    $Name_Key RegEnumKey($Paths[$i], $Counter_Paths)
                If @
    error Then
                    $Counter_Paths 
    0
                    ContinueLoop 2
                
    EndIf
                ;==========
                
    $Save_Temp_2 RegRead($Paths[$i] & "\" & $Name_Key, "Debugger")
                If @error Then ContinueLoop
                ;==========
                ReDim 
    $Array[UBound($Array, $UBOUND_ROWS) + 1][UBound($Array$UBOUND_COLUMNS)]
                ;==========
                
    $Row = UBound($Array$UBOUND_ROWS) - 1
                ;==========
                
    $Array[$Row][0] = $Save_Temp_1 & $Name_Key
                ;==========
                For 
    $x = 1 To UBound($Array$UBOUND_COLUMNS) - 1
                    Switch 
    $Items[$x - 1]
                        Case "
    Controller"
                            
    $Array[$Row][$x] = "البرنامج المتحكم " & $Save_Temp_2

                        Case "
    Date"
                            
    $Save_Temp_2 = Date_Key($Paths[$i] & "\" & $Name_Key)
                            If 
    $Save_Temp_2 = "Error" Then
                                
    $Array[$Row][$x] = "تاريخ الإنشاء غير معروف"
                            Else
                                
    $Array[$Row][$x] = "تاريخ الإنشاء " & $Save_Temp_2
                            EndIf

                        Case "
    Path"
                            
    $Array[$Row][$x] = "مسار المفتاح في الريجستري " & $Paths[$i] & "\" & $Name_Key
                    EndSwitch
                Next
            WEnd
        Next
        ;==========
        If 
    $Enable_Sort = True Then
            For 
    $i = 0 To UBound($Items) - 1
                If 
    $Items[$i] = $Sort_by Then
                    _ArraySort(
    $Array, 1, 0, 0, $i + 1)
                    ExitLoop
                EndIf
            Next
        Else
            _ArraySort(
    $Array)
        EndIf
        ;==========
        
    $Save_Temp_1 = ''
        For 
    $i = 0 To UBound($Array$UBOUND_ROWS) - 1
            For 
    $x = 0 To UBound($Array$UBOUND_COLUMNS) - 1
                
    $Save_Temp_1 &= $Array[$i][$x] & @CRLF
            Next
            If UBound(
    $Array$UBOUND_COLUMNS) > 1 Then $Save_Temp_1 &= @CRLF
        Next
        ;==========
        If StringIsSpace(
    $Save_Temp_1) Then
            Return "
    ===== برامج تم التحكم في طريقة تشغيلها =====" & @CRLF & @CRLF & ">>> لا توجد برامج"
        Else
            Return "
    ===== برامج تم التحكم في طريقة تشغيلها =====" & @CRLF & @CRLF & StringStripWS($Save_Temp_1, 1 + 2)
        EndIf
    EndFunc   ;==>Debugger


    Func Date_Key(
    $Key)
        Local 
    $Root = $HKEY_LOCAL_MACHINE$Access = $KEY_QUERY_VALUE
        ;==========
        Select
            Case StringLeft(
    $Key, 5) = "HKCU\"
                
    $Root = $HKEY_CURRENT_USER
                
    $Key = StringTrimLeft($Key, 5)

            Case StringLeft(
    $Key, 5) = "HKLM\"
                
    $Key = StringTrimLeft($Key, 5)

            Case StringLeft(
    $Key, 7) = "HKLM64\"
                
    $Key = StringTrimLeft($Key, 7)
                
    $Access += $KEY_WOW64_64KEY
        EndSelect
        ;==========
        Local 
    $hKey = _WinAPI_RegOpenKey($Root$Key$Access)
        If 
    $hKey = 0 And @error <> 0 Then Return "Error"
        ;==========
        Local 
    $vTemp = _WinAPI_RegQueryLastWriteTime($hKey)
        If @error <> 0 Then Return "
    Error"
        ;==========
        
    $vTemp = _Date_Time_FileTimeToLocalFileTime($vTemp)
        ;==========
        Local 
    $sConvert = _Date_Time_FileTimeToSystemTime($vTemp)
        ;==========
        _WinAPI_RegCloseKey(
    $hKey)
        ;==========
        Local 
    $Result = _WinAPI_GetDateFormat(0, $sConvert, 0, "yyyy/MM/dd")
        ;==========
        If StringIsSpace(
    $Result) Then
            Return "
    Error"
        Else
            Return 
    $Result
        EndIf
    EndFunc   ;==>Date_Key
     
    آخر تعديل: ‏أكتوبر 14, 2016
    ضياء نورالدين و abu_youssef معجبون بهذا.
  7. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 6 : إظهار نقاط إستعادة النظام

    لغة البرمجة : Autoit

    فائدة السورس : تقرير عن نقاط إستعادة النظام ويتميز السورس بـ :

    إظهار تاريخ ووقت إنشاء نقطة الاستعادة و رقم التسلسل
    وبالإمكان ايضاً فرز أسماء النقاط بحسب العناصر السابقة كـ تاريخ ووقت الإنشاء مثلاً


    -----
    وبخصوص رقم التسلسل هو رقم المعرف الخاص بنقطة الاستعادة
    وبإمكاننا استخدامه إذا أردنا حذف تلك النقطة المنشأة
    عن طريق استخدام الدالة SRRemoveRestorePoint

    الكود المستخدم للحذف :

    كود:
    DllCall("srclient.dll", "DWORD", "SRRemoveRestorePoint", "DWORD", Number)

    نستبدل كلمة Number برقم التسلسل لنقطة الاستعادة


    مثال للتوضيح :

    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :


    كود PHP:
    #RequireAdmin
    #include <Date.au3>
    #include <String.au3>
    #include <Array.au3>


    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report System Restore.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFileSystem_Restore("[DateTime][SequenceNumber]"True"DateTime"))
        
    FileClose($hFile)
        If 
    FileExists("Report System Restore.log"Then ShellExecute("Report System Restore.log")
    EndIf
    ;------------------------------


    Func System_Restore($Items "[DateTime][SequenceNumber]"$Enable_Sort False$Sort_by "DateTime")
        
    #cs
            
    $Items العناصر المراد إظهارها
            $Enable_Sort 
    True إذا أردت تمكين الفرز غير القيمة إلى
            $Sort_by 
    ضع أسم العنصر ليتم فرز المعلومات من خلاله
        
    #ce
        
    ;==========
        
    Local $Object_WMI ObjGet("Winmgmts:{impersonationLevel = impersonate}!\\" & @ComputerName "\Root\Default")
        If 
    Not IsObj($Object_WMIThen Return "===== نقاط استعادة النظام =====" & @CRLF & @CRLF ">>> فشل في البحث عن نقاط"
        
    ;==========
        
    Local $Object_DateTime ObjCreate("WbemScripting.SWbemDateTime")
        If 
    Not IsObj($Object_DateTimeThen Return "===== نقاط استعادة النظام =====" & @CRLF & @CRLF ">>> فشل في البحث عن نقاط"
        
    ;==========
        
    Local $Query $Object_WMI.ExecQuery("SELECT * FROM SystemRestore")
        ;==========
        
    $Items _StringBetween($Items"[""]")
        ;==========
        
    Local $tItems UBound($Items) + 1_
                $Array
    [0][$tItems], _
                $Save_Temp_1
    _
                $Save_Temp_2
    _
                $i
    _
                $x
    _
                $Save_Time
    _
                $Row
        
    ;==========
        If 
    UBound($Items) > 0 Then $Save_Temp_1 "اسم النقطة : "
        
    ;==========
        For 
    $i In $Query
            ReDim $Array
    [UBound($Array$UBOUND_ROWS) + 1][UBound($Array$UBOUND_COLUMNS)]
            ;==========
            
    $Row UBound($Array$UBOUND_ROWS) - 1
            
    ;==========
            
    $Array[$Row][0] = $Save_Temp_1 $i.Description
            
    ;==========
            For 
    $x 1 To UBound($Array$UBOUND_COLUMNS) - 1
                
    Switch $Items[$x 1]
                    Case 
    "DateTime"
                        
    $Object_DateTime.Value $i.CreationTime
                        $Save_Time 
    $Object_DateTime.GetVarDate
                        $Save_Temp_2 
    _DateTimeFormat_
                                StringLeft
    ($Save_Time4) & "/" StringMid($Save_Time52) & "/" StringMid($Save_Time72) & " " _
                                StringMid
    ($Save_Time92) & ":" StringMid($Save_Time112) & ":" StringMid($Save_Time132), 0)
                        ;-----
                        If 
    StringIsSpace($Save_Temp_2Then
                            $Array
    [$Row][$x] = "تاريخ ووقت الإنشاء : غير معروف"
                        
    Else
                            
    $Array[$Row][$x] = "تاريخ ووقت الإنشاء : " StringMid($Save_Temp_274) & "/" StringMid($Save_Temp_242) & "/" StringLeft($Save_Temp_22) & " | " StringMid($Save_Temp_212)
                        EndIf

                    Case 
    "SequenceNumber"
                        
    If StringIsSpace($i.SequenceNumberThen
                            $Array
    [$Row][$x] = "رقم التسلسل : غير معروف"
                        
    Else
                            
    $Array[$Row][$x] = "رقم التسلسل : " $i.SequenceNumber
                        
    EndIf
                EndSwitch
            
    Next
        Next
        
    ;==========
        If 
    $Enable_Sort Then
            
    For $i 0 To UBound($Items) - 1
                
    If $Items[$i] = $Sort_by Then
                    _ArraySort
    ($Array100$i 1)
                    
    ExitLoop
                
    EndIf
            
    Next
        
    Else
            
    _ArraySort($Array)
        EndIf
        ;==========
        
    $Save_Temp_1 ''
        
    For $i 0 To UBound($Array$UBOUND_ROWS) - 1
            
    For $x 0 To UBound($Array$UBOUND_COLUMNS) - 1
                $Save_Temp_1 
    &= $Array[$i][$x] & @CRLF
            Next
            
    If UBound($Array$UBOUND_COLUMNS) > 1 Then $Save_Temp_1 &= @CRLF
        Next
        
    ;==========
        If 
    StringIsSpace($Save_Temp_1Then
            
    Return "===== نقاط استعادة النظام =====" & @CRLF & @CRLF ">>> لا توجد نقاط"
        
    Else
            Return 
    "===== نقاط استعادة النظام =====" & @CRLF & @CRLF StringStripWS($Save_Temp_12)
        EndIf
    EndFunc   ;==>System_Restore
     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  8. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 7 : إظهار محتوى ملف الهوست

    لغة البرمجة : Autoit

    فائدة السورس : إظهار محتوى ملف الهوست

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin
    #include <File.au3>


    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report Hosts.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFileHost())
        
    FileClose($hFile)
        If 
    FileExists("Report Hosts.log"Then ShellExecute("Report Hosts.log")
    EndIf
    ;------------------------------


    Func Host($Path_File = @WindowsDir "\System32\Drivers\Etc\Hosts")
        If 
    Not FileExists($Path_FileThen Return "===== ملف الهوست =====" & @CRLF & @CRLF ">>> لم يتم العثور على الملف"
        
    ;==========
        
    Local $Save_Data FileRead($Path_File)
        ;==========
        If 
    StringIsSpace($Save_DataThen
            
    Return "===== ملف الهوست =====" & @CRLF & @CRLF ">>> المحتوى فارغ"
        
    Else
            Return 
    "===== ملف الهوست =====" & @CRLF & @CRLF StringStripWS($Save_Data2)
        EndIf
    EndFunc   ;==>Host
     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  9. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 8 : إظهار أسماء الطابعات المثبتة

    لغة البرمجة : Autoit

    فائدة السورس :
    إظهار أسماء الطابعات المثبتة

    مثال للتوضيح :


    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin
    #include <Date.au3>


    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report Printers.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFilePrinters())
        
    FileClose($hFile)
        If 
    FileExists("Report Printers.log"Then ShellExecute("Report Printers.log")
    EndIf
    ;------------------------------


    Func Printers()
        
    Local $Object_WMI ObjGet("Winmgmts:\\" & @ComputerName "\Root\Cimv2")
        If 
    Not IsObj($Object_WMIThen Return "===== الطابعات المثبته =====" & @CRLF & @CRLF ">>> فشل في البحث عن طابعات"
        
    ;==========
        
    Local $Query $Object_WMI.ExecQuery("SELECT * FROM Win32_Printer"), $Result
        
    ;==========
        For 
    $i In $Query
            
    If StringIsSpace($i.CaptionThen
                $Result 
    &= "اسم الطابعة : غير معروف" & @CRLF
            
    Else
                
    $Result &= "اسم الطابعة : " $i.Caption & @CRLF
            
    EndIf
            ;==========
            Switch 
    $i.Default
                Case 
    True
                    $Result 
    &= "تم تعيينها على الافتراضي : نعم" & @CRLF & @CRLF

                
    Case False
                    $Result 
    &= "تم تعيينها على الافتراضي : لا" & @CRLF & @CRLF

                
    Case Else
                    
    $Result &= "تم تعيينها على الافتراضي : غير معروف" & @CRLF & @CRLF
            
    EndSwitch
        
    Next
        
    ;==========
        If 
    StringIsSpace($ResultThen
            
    Return "===== الطابعات المثبته =====" & @CRLF & @CRLF ">>> لا توجد طابعات"
        
    Else
            Return 
    "===== الطابعات المثبته =====" & @CRLF & @CRLF StringStripWS($Result2)
        EndIf
    EndFunc   ;==>Printers
     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  10. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 9 : الاستعلام عن هاش الملف

    لغة البرمجة : Autoit

    فائدة السورس : الإستعلام عن هاش الملف بالخوارزميات التالية :
    MD2 ⁄ MD4 ⁄ MD5
    SHA1 ⁄ SHA_256 ⁄ SHA_384 ⁄ SHA_512


    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin[/COLOR][/SIZE][/FONT][/RIGHT][/COLOR][/SIZE][/FONT][/RIGHT]
    [FONT=Arial][SIZE=4][COLOR=#000066]
    [RIGHT][FONT=Arial][SIZE=4][COLOR=#000066]
    [RIGHT]#include <Crypt.au3>


    ;------------------------------ [مثال]
    Local $hDialog FileOpenDialog("أختر الملف", @DesktopDir"All Files(*.*)"$FD_FILEMUSTEXIST $FD_PATHMUSTEXIST)
    If 
    Not @error Then
        Local $Save_Temp 
    Hash($hDialog3) ; MD5 إظهار خوارزمية
        
    If $Save_Temp "Error" Then
            MsgBox
    (0''"فشل في تنفيذ الطلب")
        Else
            
    MsgBox(0''$Save_Temp)
        EndIf
    EndIf
    ;------------------------------


    Func Hash($Path_File$Algorithm 1)
        If 
    Not FileExists($Path_FileThen Return "Error"
        
    ;==========
        
    Local $CALG_SHA_256 0x0000800c$CALG_SHA_384 0x0000800d$CALG_SHA_512 0x0000800e
        
    ;==========
        Switch 
    $Algorithm
            
    Case 1
                $Algorithm 
    $CALG_MD2

            
    Case 2
                $Algorithm 
    $CALG_MD4

            
    Case 3
                $Algorithm 
    $CALG_MD5

            
    Case 4
                $Algorithm 
    $CALG_SHA1

            
    Case 5
                $Algorithm 
    $CALG_SHA_256

            
    Case 6
                $Algorithm 
    $CALG_SHA_384

            
    Case 7
                $Algorithm 
    $CALG_SHA_512
        
    EndSwitch
        ;==========
        
    Local $Save_Temp _Crypt_HashFile($Path_File$Algorithm)
        If @
    error Then Return "Error"
        
    ;==========
        Return 
    StringTrimLeft($Save_Temp2)
    EndFunc   ;==>Hash


     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  11. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 10 : التأكد من وجود إتصال بالإنترنت

    لغة البرمجة : Autoit

    فائدة السورس : التأكد من وجود إتصال بالإنترنت


    كاتب السورس : المبدع / @ihere

    السورس :
    كود PHP:
    #RequireAdmin
    #include <InetConstants.au3>

    MsgBox(0''Check())

    Func Check()
        If 
    BinaryToString(InetRead("http://www.msftncsi.com/ncsi.txt"$INET_FORCERELOAD)) = "Microsoft NCSI" Then
            
    Return "يوجد أتصال"
        
    Else
            Return 
    "لا يوجد أتصال"
        
    EndIf
    EndFunc   ;==>Check
     
    ضياء نورالدين ،format و abu_youssef معجبون بهذا.
  12. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 11 : فتح مسار بالريجستري دون الإنتقال إليه

    لغة البرمجة : Autoit

    فائدة السورس : فتح مسار بالريجستري دون الإنتقال إليه


    كاتب السورس : المبدع / @ihere

    السورس :
    كود PHP:
    #RequireAdmin

    ;------------------------------ [مثال]
    Open_Key_In_Registry("HKLM\SOFTWARE\Microsoft\Windows")
    ;------------------------------

    Func Open_Key_In_Registry($Path_Key)
        
    Select
            
    Case StringLeft($Path_Key4) = "HKCR"
                
    $Path_Key "HKEY_CLASSES_ROOT" StringTrimLeft($Path_Key4)

            Case 
    StringLeft($Path_Key6) = "HKCU64"
                
    $Path_Key "HKEY_CURRENT_USER" StringTrimLeft($Path_Key6)

            Case 
    StringLeft($Path_Key4) = "HKCU"
                
    $Path_Key "HKEY_CURRENT_USER" StringTrimLeft($Path_Key4)

            Case 
    StringLeft($Path_Key6) = "HKLM64"
                
    $Path_Key "HKEY_LOCAL_MACHINE" StringTrimLeft($Path_Key6)

            Case 
    StringLeft($Path_Key4) = "HKLM"
                
    $Path_Key "HKEY_LOCAL_MACHINE" StringTrimLeft($Path_Key4)

            Case 
    StringLeft($Path_Key3) = "HKU"
                
    $Path_Key "HKEY_USERS" StringTrimLeft($Path_Key3)

            Case 
    StringLeft($Path_Key4) = "HKCC"
                
    $Path_Key "HKEY_CURRENT_CONFIG" StringTrimLeft($Path_Key4)
        
    EndSelect
        
    ;==========
        
    Local $Save_Temp $Path_Key
        
    ;==========
        If @
    OSArch "X64" Then
            
    If StringLeft($Path_Key19) = "HKEY_LOCAL_MACHINE\" Then $Save_Temp = "HKLM64" & StringTrimLeft($Path_Key, 18)
        EndIf
        ;==========
        RegEnumVal(
    $Save_Temp, 1)
        If @error = 1 Or @error = 2 Then Return "
    Not Found"
        ;==========
        
    $Save_Temp = RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", "REG_SZ", "Computer\" & $Path_Key)
        If 
    $Save_Temp = 0 And @error <> 0 Then Return "Error"
        ;==========
        If ProcessExists("
    Regedit.exe") Then
            ProcessClose("
    Regedit.exe")
            ProcessWaitClose("
    Regedit.exe")
        EndIf
        ;==========
        ShellExecute("
    Regedit.exe")
        ;==========
        Return "
    Ok"
    EndFunc   ;==>Open_Key_In_Registry
     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  13. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 12 : الإستعلام عن الخيار المحدد في طريقة تثبيت التحديثات

    لغة البرمجة : Autoit

    فائدة السورس : الإستعلام عن الخيار المحدد في طريقة تثبيت التحديثات

    مثال :

    [​IMG]

    إضافة على كذا بالإمكان تغيير الخيار بالكود

    وأرفقت الدالة في نفس السورس واسمها Set_Notification_Level
    وفقط نضيف لها رقم الخيار اللي نبيه
    مثال لتعيين الخيار على " البحث عن التحديثات مع السماح بالاختيار بين تنزيلها وتثبيتها

    كود PHP:
    Set_Notification_Level(3)

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin[/COLOR][/SIZE][/FONT][/RIGHT][/COLOR][/SIZE][/FONT][/RIGHT]
    [FONT=Arial][SIZE=4][COLOR=#000066]
    [RIGHT][FONT=Arial][SIZE=4][COLOR=#000066]
    [RIGHT]
    Get_Notification_Level()

    Func Get_Notification_Level() ; الاستعلام
        Local $Object_Update 
    ObjCreate("Microsoft.Update.AutoUpdate")
        If 
    Not IsObj($Object_UpdateThen Return "Error"
        
    ;==========
        
    Local $Object_Settings $Object_Update.Settings$Result
        
    ;==========
        Switch 
    $Object_Settings.NotificationLevel
            
    Case 0
                $Result 
    "لم يتم تكوين طريقة التحديثات بعد"

            
    Case 1
                $Result 
    "عدم البحث عن تحديثات نهائياً"

            
    Case 2
                $Result 
    "البحث عن التحديثات مع السماح بالاختيار بين تنزيلها وتثبيتها"

            
    Case 3
                $Result 
    "تنزيل التحديثات مع السماح بأختيار تثبيتها أو لا"

            
    Case 4
                $Result 
    "تثبيت التحديثات تلقائياً"

            
    Case Else
                
    $Result "غير معروف"
        
    EndSwitch
        ;==========
        
    MsgBox(0''$Result)
    EndFunc   ;==>Get_Notification_Level


    Func Set_Notification_Level
    ($Mode 3) ; تعيين
        Local $Object_Update 
    ObjCreate("Microsoft.Update.AutoUpdate")
        If 
    Not IsObj($Object_UpdateThen Return "Error"
        
    ;==========
        
    $Object_Settings $Object_Update.Settings
        $Object_Settings
    .NotificationLevel $Mode
        $Object_Settings
    .Save
    EndFunc   
    ;==>Set_Notification_Level
     
    آخر تعديل: ‏أكتوبر 16, 2016
    ضياء نورالدين و abu_youssef معجبون بهذا.
  14. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 13 : إظهار الأجهزة الملحقة من إدارة الأجهزة

    لغة البرمجة : Autoit


    فائدة السورس : إظهار الأجهزة الملحقة من إدارة الأجهزة
    بالإمكان أختيار فئات محددة لعرضها .. وكمثال محركات الأقراص الصلبة
    وبالإمكان أيضاً تحديد العناصر المراد إظهارها مع اأسم الجهاز وهي : (اسم الفئة - الناشر - معرف القطعة)
    وبالإمكان أيضاً فرز أسماء الأجهزة بحسب العناصر المذكورة بالسطر السابق .. وكمثال أسم الفئة

    مثال :

    [​IMG]

    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :
    كود PHP:
    #RequireAdmin
    #include <Date.au3>
    #include <String.au3>
    #include <Array.au3>


    ;------------------------------ [مثال]
    Local $hFile FileOpen("Report Manager Device.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
        FileWrite
    ($hFileManager_Device("[DiskDrive][Display]""[Class][Publisher][ID]"True"Class"))
        
    FileClose($hFile)
        If 
    FileExists("Report Manager Device.log"Then ShellExecute("Report Manager Device.log")
    EndIf
    ;------------------------------


    Func Manager_Device_
            $Class 
    "[Battery][Biometric][Bluetooth][CDROM][DiskDrive][HDC][Display][FDC][FloppyDisk][GPS]" _
            
    "[HIDClass][Image][Infrared][Keyboard][Modem][Monitor][Mouse][Multifunction][Media][Volume]" _
            
    "[Sound][VOLUMESNAPSHOT][MultiportSerial][Net][NetClient][NetService][NetTrans][Ports][Printer][PNPPrinters]" _
            
    "[PrinterUpgrade][Processor][SCSIAdapter][Sensor][SmartCardReader][System][USBDevice][USB][Computer]"_
            $Items 
    "[Class][Publisher][ID]"_
            $Enable_Sort 
    False_
            $Sort_by 
    "Class")
        ;==========
        
    #cs
            
    $Class الفئات التي تريد عرضها
            $Items 
    العناصر الإضافية
            $Enable_Sort 
    True إذا أردت تمكين الفرز غير القيمة إلى
            $Sort_by 
    ضع أسم العنصر ليتم فرز المعلومات من خلاله
        
    #ce
        
    ;==========
        
    Local $Object_WMI ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & @ComputerName "\root\cimv2")
        If 
    Not IsObj($Object_WMIThen Return "===== إدارة الأجهزة =====" & @CRLF & @CRLF ">>> فشل في البحث عن أجهزة"
        
    ;==========
        
    Local $Query $Object_WMI.ExecQuery("SELECT * FROM Win32_PnPSignedDriver")
        ;==========
        
    $Class _StringBetween($Class"[""]")
        
    $Items _StringBetween($Items"[""]")
        ;==========
        
    Local $Total_Items UBound($Items) + 1_
                $Array
    [0][$Total_Items], _
                $Save_Temp_1
    _
                $Save_Temp_2
    _
                $i
    _
                $x
    _
                $y
    _
                $Row
        
    ;==========
        If 
    UBound($Items) > 0 Then $Save_Temp_1 "اسم الجهاز : "
        
    ;==========
        For 
    $i In $Query
            
    If $i.DeviceClass "LEGACYDRIVER" Or StringIsSpace($i.DeviceClass) Or StringIsSpace($i.DeviceNameThen ContinueLoop
            
    ;==========
            
    $Save_Temp_2 ''
            
    ;==========
            For 
    $x 0 To UBound($Class) - 1
                
    If $i.DeviceClass $Class[$xThen
                    $Save_Temp_2 
    $Class[$x]
                    
    ExitLoop
                
    EndIf
            
    Next
            
    ;==========
            If 
    StringIsSpace($Save_Temp_2Then ContinueLoop
            
    ;==========
            Switch 
    $Save_Temp_2
                
    Case "Battery"
                    
    $Save_Temp_2 "البطاريات"

                
    Case "Biometric"
                    
    $Save_Temp_2 "الأجهزة البيومترية"

                
    Case "Bluetooth"
                    
    $Save_Temp_2 "أجهزة البلوتوث"

                
    Case "CDROM"
                    
    $Save_Temp_2 "محركات الأقراص DVD/CD-ROM"

                
    Case "DiskDrive""HDC"
                    
    $Save_Temp_2 "محركات الأقراص الصلبة"

                
    Case "Display"
                    
    $Save_Temp_2 "أجهزة العرض"

                
    Case "FDC""FloppyDisk"
                    
    $Save_Temp_2 "الأقراص المرنة"

                
    Case "GPS"
                    
    $Save_Temp_2 "أجهزة تحديد المواقع"

                
    Case "HIDClass"
                    
    $Save_Temp_2 "أجهزة واجهات بشرية"

                
    Case "Image"
                    
    $Save_Temp_2 "أجهزة التصوير"

                
    Case "Infrared"
                    
    $Save_Temp_2 "أجهزة الأشعة تحت الحمراء"

                
    Case "Keyboard"
                    
    $Save_Temp_2 "لوحات المفاتيح"

                
    Case "Modem"
                    
    $Save_Temp_2 "أجهزة المودم"

                
    Case "Monitor"
                    
    $Save_Temp_2 "أجهزة المراقبة"

                
    Case "Mouse"
                    
    $Save_Temp_2 "الماوس"

                
    Case "Multifunction"
                    
    $Save_Temp_2 "أجهزة متعددة الوظائف"

                
    Case "Media""Volume""Sound""VOLUMESNAPSHOT"
                    
    $Save_Temp_2 "أجهزة الصوت"

                
    Case "MultiportSerial"
                    
    $Save_Temp_2 "محولات متعددة المنافذ"

                
    Case "Net""NetClient""NetService""NetTrans"
                    
    $Save_Temp_2 "الشبكة"

                
    Case "Ports"
                    
    $Save_Temp_2 "المنافذ"

                
    Case "Printer""PNPPrinters""PrinterUpgrade"
                    
    $Save_Temp_2 "الطابعات"

                
    Case "Processor"
                    
    $Save_Temp_2 "المعالجات"

                
    Case "SCSIAdapter"
                    
    $Save_Temp_2 "أجهزة التحكم SCSI and RAID"

                
    Case "Sensor"
                    
    $Save_Temp_2 "أجهزة الأستشعار"

                
    Case "SmartCardReader"
                    
    $Save_Temp_2 "قارئ البطاقات الذكية"

                
    Case "System"
                    
    $Save_Temp_2 "أجهزة النظام"

                
    Case "USBDevice""USB"
                    
    $Save_Temp_2 "منافذ USB"

                
    Case "Computer"
                    
    $Save_Temp_2 "الكمبيوتر"
            
    EndSwitch
            ;==========
            
    ReDim $Array[UBound($Array$UBOUND_ROWS) + 1][UBound($Array$UBOUND_COLUMNS)]
            ;==========
            
    $Row UBound($Array$UBOUND_ROWS) - 1
            
    ;==========
            
    $Array[$Row][0] = $Save_Temp_1 $i.DeviceName
            
    ;==========
            For 
    $y 1 To UBound($Array$UBOUND_COLUMNS) - 1
                
    Switch $Items[$y 1]
                    Case 
    "Class"
                        
    $Array[$Row][$y] = "الفئة : " $Save_Temp_2

                    
    Case "Publisher"
                        
    If StringIsSpace($i.DriverProviderNameThen
                            $Array
    [$Row][$y] = "الناشر : غير معروف"
                        
    Else
                            
    $Array[$Row][$y] = "الناشر : " $i.DriverProviderName
                        
    EndIf

                    Case 
    "ID"
                        
    If StringIsSpace($i.HardWareIDThen
                            $Array
    [$Row][$y] = "المعرف : غير معروف"
                        
    Else
                            
    $Array[$Row][$y] = "المعرف : " $i.HardWareID
                        
    EndIf
                EndSwitch
            
    Next
        Next
        
    ;==========
        If 
    $Enable_Sort Then
            
    For $i 0 To UBound($Items) - 1
                
    If $Items[$i] = $Sort_by Then
                    _ArraySort
    ($Array100$i 1)
                    
    ExitLoop
                
    EndIf
            
    Next
        
    Else
            
    _ArraySort($Array)
        EndIf
        ;==========
        
    $Save_Temp_1 ''
        
    For $i 0 To UBound($Array$UBOUND_ROWS) - 1
            
    For $x 0 To UBound($Array$UBOUND_COLUMNS) - 1
                $Save_Temp_1 
    &= $Array[$i][$x] & @CRLF
            Next
            
    If UBound($Array$UBOUND_COLUMNS) > 1 Then $Save_Temp_1 &= @CRLF
        Next
        
    ;==========
        If 
    StringIsSpace($Save_Temp_1Then
            
    Return "===== إدارة الأجهزة =====" & @CRLF & @CRLF ">>> لا توجد أجهزة"
        
    Else
            Return 
    "===== إدارة الأجهزة =====" & @CRLF & @CRLF StringStripWS($Save_Temp_12)
        EndIf
    EndFunc   ;==>Manager_Device
     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  15. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 14 : إظهار أسماء التحديثات المثبتة

    لغة البرمجة : Autoit


    فائدة السورس : إظهار أسماء التحديثات المثبتة وبإمكانك :
    طلب عرض التحديثات حسب حالة التثبيت
    إما نجاح أو فشل أو ملغي أو بهم جميعاً
    وبإمكانك ايضاً تحديد عناصر إضافية وهي : تاريخ التثبيت و حالة التثبيت
    وبإمكانك أيضاً فرز التحديثات حسب : تاريخ التثبيت أو حالة التثبيت

    مثال :

    [​IMG]
    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :
    كود PHP:
    #RequireAdmin
    #include <Date.au3>
    #include <String.au3>
    #include <Array.au3>


    Local $hErrors ObjEvent("AutoIt.Error""Skip")


    ;------------------------------ [
    مثال]
    Local $hFile FileOpen("Report History Update.log"$FO_OVERWRITE $FO_UNICODE)
    If 
    $hFile <> -1 Then
       FileWrite
    ($hFileHistory_Update("[Fail][Cancelled]""[Status]"True"Status"))
       
    FileClose($hFile)
       If 
    FileExists("Report History Update.log"Then ShellExecute("Report History Update.log")
    EndIf
    ;------------------------------


    Func History_Update($Items "[Success][Fail][Cancelled]"$Columns "[Date][Status]"$Enable_Sort False$Sort_by "Date")
       
    #cs
           
    $Items حالة التثبيت للتحديثات
           $Columns 
    العناصر الإضافية
           $Enable_Sort 
    True إذا أردت تمكين الفرز غير القيمة إلى
           $Sort_by 
    ضع أسم العنصر ليتم فرز المعلومات من خلاله
       
    #ce
       
    ;==========
       
    Local $Object_Session ObjCreate("Microsoft.Update.Session", @ComputerName)
       
    Local $Object_Searcher $Object_Session.CreateUpdateSearcher
       Local $List_History 
    $Object_Searcher.QueryHistory(0$Object_Searcher.GetTotalHistoryCount)
       ;==========
       
    $Columns _StringBetween($Columns"[""]")
       
    $Items _StringBetween($Items"[""]")
       ;==========
       
    Local $Total_Columns UBound($Columns) + 1_
               $Array
    [0][$Total_Columns], _
               $i
    _
               $x
    _
               $z
    _
               $Row
    _
               $Save_Temp
       
    ;==========
       If 
    UBound($Columns) > 0 Then $Save_Temp "اسم التحديث : "
       
    ;==========
       For 
    $i In $List_History
           
    For $x 0 To UBound($Items) - 1
               
    Switch $Items[$x]
                   Case 
    "Success"
                       
    If $i.ResultCode <> 2 Then ContinueLoop

                   
    Case "Fail"
                       
    If $i.ResultCode <> 4 Then ContinueLoop

                   
    Case "Cancelled"
                       
    If $i.ResultCode <> 5 Then ContinueLoop
               
    EndSwitch
               ;==========
               
    ReDim $Array[UBound($Array$UBOUND_ROWS) + 1][UBound($Array$UBOUND_COLUMNS)]
               ;==========
               
    $Row UBound($Array$UBOUND_ROWS) - 1
               
    ;==========
               
    $Array[$Row][0] = $Save_Temp $i.Title
               
    ;==========
               For 
    $z 1 To UBound($Array$UBOUND_COLUMNS) - 1
                   
    Switch $Columns[$z 1]
                       Case 
    "Date"
                           
    $Array[$Row][$z] = "تاريخ التثبيت : " StringRegExpReplace(StringLeft($i.Date8), "(\d{4})(\d{2})(\d{2})""$1/$2/$3")

                       Case 
    "Status"
                           
    Switch $Items[$x]
                               Case 
    "Success"
                                   
    $Array[$Row][$z] = "حالة التثبيت : نجاح"

                               
    Case "Fail"
                                   
    $Array[$Row][$z] = "حالة التثبيت : فشل"

                               
    Case "Cancelled"
                                   
    $Array[$Row][$z] = "حالة التثبيت : ملغي"
                           
    EndSwitch
                   EndSwitch
               
    Next
           Next
       Next
       
    ;==========
       If 
    $Enable_Sort Then
           
    For $i 0 To UBound($Columns) - 1
               
    If $Columns[$i] = $Sort_by Then
                   _ArraySort
    ($Array100$i 1)
                   
    ExitLoop
               
    EndIf
           
    Next
       
    Else
           
    _ArraySort($Array)
       EndIf
       ;==========
       
    $Save_Temp ''
       
    For $i 0 To UBound($Array$UBOUND_ROWS) - 1
           
    For $x 0 To UBound($Array$UBOUND_COLUMNS) - 1
               $Save_Temp 
    &= $Array[$i][$x] & @CRLF
           Next
           
    If UBound($Array$UBOUND_COLUMNS) > 1 Then $Save_Temp &= @CRLF
       Next
       
    ;==========
       If 
    StringIsSpace($Save_TempThen
           
    Return "===== محفوظات التحديث =====" & @CRLF & @CRLF ">>> لا توجد محفوظات"
       
    Else
           Return 
    "===== محفوظات التحديث =====" & @CRLF & @CRLF StringStripWS($Save_Temp2)
       EndIf
    EndFunc   ;==>History_Update


    Func Skip
    ($oError) ; تخطي الأخطاء
       
    إذا أردت ضع تنبيهات
    EndFunc   
    ;==>Skip
     
    ضياء نورالدين و abu_youssef معجبون بهذا.
  16. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 15 : إظهار أسم المعالج من إدارة الأجهزة

    لغة البرمجة : Autoit


    فائدة السورس : إظهار أسم المعالج من إدارة الأجهزة

    مثال :

    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin
    #include <Array.au3>


    ;======================================== [مثال]
    Local $Save_Temp Get_Name_Processor()
    If 
    $Save_Temp "Error" Then
        MsgBox
    ($MB_OK''"غير قادر على عرض أسم المعالج")
    Else
        
    Local $Save_Array Filter($Save_Temp), $i$Result
        
    For $i 1 To UBound($Save_Array) - 1
            $Result 
    &= $Save_Array[$i] & @CRLF
        Next
        
    ;---------------
        If 
    StringIsSpace($ResultThen
            MsgBox
    ($MB_OK''"غير قادر على عرض أسم المعالج")
        Else
            
    MsgBox($MB_OK''StringStripWS($Result2))
        EndIf
    EndIf
    ;========================================


    Func Get_Name_Processor()
        
    Local $Object ObjGet("winmgmts:{impersonationLevel=impersonate}")
        If @
    error <> 0 Then Return "Error"
        
    ;---------------
        
    Local $Query $Object.ExecQuery("SELECT * From Win32_PnPEntity Where ClassGuid = " "'{50127dc3-0f36-415e-a6cc-4cb3be910b65}'")
        
    Local $i$Result
        
    ;---------------
        For 
    $i In $Query
            
    If Not StringIsSpace($i.NameThen $Result &= $i.Name & @CRLF
        Next
        
    ;---------------
        If 
    StringIsSpace($ResultThen Return "Error"
        
    ;---------------
        Return 
    StringStripWS($Result2)
    EndFunc   ;==>Get_Name_Processor


    Func Filter
    ($Texts) ; تصفية النصوص المكررة
        Local $Save_Temp 
    StringSplit($Texts, @CRLF, -1)
        
    Local $Result _ArrayUnique($Save_Temp)
        Return 
    $Result
    EndFunc   
    ;==>Filter
     
  17. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 16 : إظهار اسم كرت الشاشة من إدارة الأجهزة

    لغة البرمجة : Autoit


    فائدة السورس : إظهار اسم كرت الشاشة من إدارة الأجهزة

    مثال :

    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin
    #include <Array.au3>


    ;======================================== [مثال]
    Local $Save_Temp Get_Name_GPU()
    If 
    $Save_Temp "Error" Then
        MsgBox
    ($MB_OK''"غير قادر على عرض أسم كرت الشاشة")
    Else
        
    Local $Save_Array Filter($Save_Temp), $i$Result
        
    For $i 1 To UBound($Save_Array) - 1
            $Result 
    &= $Save_Array[$i] & @CRLF
        Next
        
    ;---------------
        If 
    StringIsSpace($ResultThen
            MsgBox
    ($MB_OK''"غير قادر على عرض أسم كرت الشاشة")
        Else
            
    MsgBox($MB_OK''StringStripWS($Result2))
        EndIf
    EndIf
    ;========================================


    Func Get_Name_GPU()
        
    Local $Object ObjGet("winmgmts:{impersonationLevel=impersonate}")
        If @
    error <> 0 Then Return "Error"
        
    ;---------------
        
    Local $Query $Object.ExecQuery("SELECT * From Win32_PnPEntity Where ClassGuid = " "'{4d36e968-e325-11ce-bfc1-08002be10318}'")
        
    Local $i$Result
        
    ;---------------
        For 
    $i In $Query
            
    If Not StringIsSpace($i.NameThen $Result &= $i.Name & @CRLF
        Next
        
    ;---------------
        If 
    StringIsSpace($ResultThen Return "Error"
        
    ;---------------
        Return 
    StringStripWS($Result2)
    EndFunc   ;==>Get_Name_GPU


    Func Filter
    ($Texts) ; تصفية النصوص المكررة
        Local $Save_Temp 
    StringSplit($Texts, @CRLF, -1)
        
    Local $Result _ArrayUnique($Save_Temp)
        Return 
    $Result
    EndFunc   
    ;==>Filter
     
  18. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 17 : إظهار اسم الشاشة من إدارة الأجهزة

    لغة البرمجة : Autoit


    فائدة السورس : إظهار أسم الشاشة من مدير الأجهزة

    مثال :
    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin[/COLOR][/SIZE][/FONT][/RIGHT]
    [FONT=Arial][SIZE=4][COLOR=#000066]
    [RIGHT]#include <Array.au3>


    ;======================================== [مثال]
    Local $Save_Temp Get_Name_Screen()
    If 
    $Save_Temp "Error" Then
        MsgBox
    ($MB_OK''"غير قادر على عرض أسم الشاشة")
    Else
        
    Local $Save_Array Filter($Save_Temp), $i$Result
        
    For $i 1 To UBound($Save_Array) - 1
            $Result 
    &= $Save_Array[$i] & @CRLF
        Next
        
    ;---------------
        If 
    StringIsSpace($ResultThen
            MsgBox
    ($MB_OK''"غير قادر على عرض أسم الشاشة")
        Else
            
    MsgBox($MB_OK''StringStripWS($Result2))
        EndIf
    EndIf
    ;========================================


    Func Get_Name_Screen()
        
    Local $Object ObjGet("winmgmts:{impersonationLevel=impersonate}")
        If @
    error <> 0 Then Return "Error"
        
    ;---------------
        
    Local $Query $Object.ExecQuery("SELECT * From Win32_PnPEntity Where ClassGuid = " "'{4d36e96e-e325-11ce-bfc1-08002be10318}'")
        
    Local $i$Result
        
    ;---------------
        For 
    $i In $Query
            
    If Not StringIsSpace($i.NameThen $Result &= $i.Name & @CRLF
        Next
        
    ;---------------
        If 
    StringIsSpace($ResultThen Return "Error"
        
    ;---------------
        Return 
    StringStripWS($Result2)
    EndFunc   ;==>Get_Name_Screen


    Func Filter
    ($Texts) ; تصفية النصوص المكررة
        Local $Save_Temp 
    StringSplit($Texts, @CRLF, -1)
        
    Local $Result _ArrayUnique($Save_Temp)
        Return 
    $Result
    EndFunc   
    ;==>Filter

     
    آخر تعديل: ‏نوفمبر 3, 2016
  19. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 18 : إظهار الشركة المُصنعة وموديل اللوحة الأم

    لغة البرمجة : Autoit


    فائدة السورس : إظهار الشركة المُصنعة وموديل اللوحة الأم

    مثال :

    [​IMG]

    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin
    #include <MsgBoxConstants.au3>


    ;------------------------------------------ [مثال]
    Local $Save_Temp Get_Name_MotherBoard()
    If 
    $Save_Temp <> "Error" Then
        MsgBox
    ($MB_OK $MB_RIGHT $MB_RTLREADING''$Save_Temp)
    EndIf
    ;------------------------------------------


    Func Get_Name_MotherBoard()
        
    Local $Object ObjGet("winmgmts:{impersonationLevel=impersonate}")
        If @
    error <> 0 Then Return "Error"
        
    ;==========
        
    Local $Query $Object.ExecQuery("SELECT * From Win32_BaseBoard")
        
    Local $i$Result
        
    ;==========
        For 
    $i In $Query
            
    If StringIsSpace($i.ManufacturerThen
                $Result 
    &= "أسم الصانع : غير معروف" & @CRLF
            
    Else
                
    $Result &= "أسم الصانع : " $i.Manufacturer & @CRLF
            
    EndIf
            ;-----
            If 
    StringIsSpace($i.ProductThen
                $Result 
    &= "الموديل : غير معروف" & @CRLF
            
    Else
                
    $Result &= "الموديل : " $i.Product & @CRLF
            
    EndIf
        
    Next
        
    ;==========
        If 
    StringIsSpace($ResultThen
            
    Return "Error"
        
    Else
            Return 
    StringStripWS($Result2)
        EndIf
    EndFunc   ;==>Get_Name_MotherBoard
     
  20. White Man

    White Man خبير فحص ملفات فريق فحص زيزووم للحماية

    إنضم إلينا في:
    ‏فبراير 24, 2014
    المشاركات:
    12,580
    الإعجابات المتلقاة:
    28,714
    نقاط الجائزة:
    1,250
    الجنس:
    ذكر
    الإقامة:
    Egypt,Alex
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows8.1
    السورس رقم 19 : إظهار تاريخ ووقت تثبيت الويندوز

    لغة البرمجة : Autoit


    فائدة السورس : إظهار تاريخ ووقت تثبيت الويندوز

    مثال :
    مقارنة النتيجة مع برنامج Speccy
    [​IMG]


    كاتب السورس : المبدع / @ihere

    السورس :

    كود PHP:
    #RequireAdmin
    #include <MsgBoxConstants.au3>


    ;------------------------------------------------------ [مثال]
    Local $Save_Temp Get_Date_And_Time_Format_Windows()
    If 
    $Save_Temp <> "Error" Then MsgBox($MB_OK''$Save_Temp)
    ;------------------------------------------------------


    Func Get_Date_And_Time_Format_Windows()
        
    Local $Object ObjGet("winmgmts:{impersonationLevel=impersonate}")
        If @
    error <> 0 Then Return "Error"
        
    ;==========
        
    Local $Query $Object.ExecQuery("SELECT * From Win32_OperatingSystem")
        
    Local $i$Result
        
    ;==========
        For 
    $i In $Query
            
    If Not StringIsSpace($i.InstallDateThen _
                    $Result 
    &= StringLeft($i.InstallDate4) & السنة
                    
    "/" _
                    StringMid
    ($i.InstallDate52) & الشهر
                    
    "/" _
                    StringMid
    ($i.InstallDate72) & اليوم
                    
    " , " _
                    StringMid
    ($i.InstallDate92) & الساعة
                    
    ":" _
                    StringMid
    ($i.InstallDate112) & الدقائق
                    
    ":" _
                    StringMid
    ($i.InstallDate132) ; الثواني
        Next
        
    ;==========
        If 
    StringIsSpace($ResultThen
            
    Return "Error"
        
    Else
            Return 
    $Result
        
    EndIf
    EndFunc   ;==>Get_Date_And_Time_Format_Windows
     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة

جاري تحميل الصفحة...