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

الحالة
مغلق و غير مفتوح للمزيد من الردود.

black007

إداري سابق وداعم للمنتدى (خبير فحص ملفات)
داعــــم للمنتـــــدى
★ نجم المنتدى ★
عضوية موثوقة ✔️
كبار الشخصيات
إنضم
17 يونيو 2013
المشاركات
4,600
مستوى التفاعل
24,178
النقاط
2,970
الإقامة
Egypt
غير متصل
XyoKfjk.png



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

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

CeHewFm.png



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

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

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

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



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

MgRrs5K.png


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

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

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

MgRrs5K.png


zgl5rMO.gif




CeHewFm.png


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


CeHewFm.png





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

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

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

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

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


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

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

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

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




zgl5rMO.gif


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

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

63255767.png
مـــع تحيـــــات مـــنتــديـــات زيــــــــزوووم للأمـــن والحـــمــايـــة
63255767.png


63255767.png
63255767.png
63255767.png

CeHewFm.png


XPTfPUV.gif


CeHewFm.png


 

التعديل الأخير:
توقيع : black007
على بركة الله نبدء

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


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


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


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


السورس :

PHP:
#include-once
#include <MsgBoxConstants.au3>

Fix()

Func Fix()
   Local $Path_File = @WindowsDir & "\System32\drivers\etc\hosts"
   ;----------
   If Not FileExists($Path_File) Then
       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_File, 2)
   If $hOpen_File = -1 Then
       MsgBox($MB_ICONWARNING + $MB_RIGHT + $MB_RTLREADING + $MB_TOPMOST, "يتعذر التعديل على ملف الهوست", "هُنالك أمر يمنع التطبيق من إكمال مهمة الإصلاح" & @CRLF & @CRLF & "ونقترح عليك إغلاق برنامج الحماية إن وجد مؤقتاً ثم إعادة محاولة الإصلاح")
       Return False
   EndIf
   ;----------
   If Not FileWrite($hOpen_File, Data()) 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
 
التعديل الأخير:
توقيع : White Man

السورس رقم 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($hFile, Services("[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_WMI) Then 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.StartName) Then
                        $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($Array, 1, 0, 0, $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_Resault) Then
        Return "===== الخدمات =====" & @CRLF & @CRLF & ">>> لا توجد خدمات"
    Else
        Return "===== الخدمات =====" & @CRLF & @CRLF & StringStripWS($Save_Resault, 1 + 2)
    EndIf
EndFunc   ;==>Services
 
توقيع : White Man
السورس رقم 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($hFile, Programs_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
 
توقيع : White Man
السورس رقم 4 : إظهار برامج الويندوز في ويندوز 8 & 8.1 & 10

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


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

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

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


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

p_281u4nm1.png


كاتب السورس : المبدع / @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($hFile, Programs_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
 
توقيع : White Man
السورس رقم 5 : إظهار البرامج التي تم التحكم في طريقة تشغيلها

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

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

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


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

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


p_283nc5k1.png


كاتب السورس : المبدع / @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($hFile, Debugger("[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
 
التعديل الأخير:
توقيع : White Man
السورس رقم 6 : إظهار نقاط إستعادة النظام

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

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

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


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

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

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

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


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

p_283l1fv1.png


كاتب السورس : المبدع / @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($hFile, System_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_WMI) Then Return "===== نقاط استعادة النظام =====" & @CRLF & @CRLF & ">>> فشل في البحث عن نقاط"
    ;==========
    Local $Object_DateTime = ObjCreate("WbemScripting.SWbemDateTime")
    If Not IsObj($Object_DateTime) Then 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_Time, 4) & "/" & StringMid($Save_Time, 5, 2) & "/" & StringMid($Save_Time, 7, 2) & " " & _
                            StringMid($Save_Time, 9, 2) & ":" & StringMid($Save_Time, 11, 2) & ":" & StringMid($Save_Time, 13, 2), 0)
                    ;-----
                    If StringIsSpace($Save_Temp_2) Then
                        $Array[$Row][$x] = "تاريخ ووقت الإنشاء : غير معروف"
                    Else
                        $Array[$Row][$x] = "تاريخ ووقت الإنشاء : " & StringMid($Save_Temp_2, 7, 4) & "/" & StringMid($Save_Temp_2, 4, 2) & "/" & StringLeft($Save_Temp_2, 2) & " | " & StringMid($Save_Temp_2, 12)
                    EndIf

                Case "SequenceNumber"
                    If StringIsSpace($i.SequenceNumber) Then
                        $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($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   ;==>System_Restore
 
توقيع : White Man
السورس رقم 7 : إظهار محتوى ملف الهوست

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

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

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

السورس :

PHP:
#RequireAdmin
#include <File.au3>


;------------------------------ [مثال]
Local $hFile = FileOpen("Report Hosts.log", $FO_OVERWRITE + $FO_UNICODE)
If $hFile <> -1 Then
    FileWrite($hFile, Host())
    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_File) Then Return "===== ملف الهوست =====" & @CRLF & @CRLF & ">>> لم يتم العثور على الملف"
    ;==========
    Local $Save_Data = FileRead($Path_File)
    ;==========
    If StringIsSpace($Save_Data) Then
        Return "===== ملف الهوست =====" & @CRLF & @CRLF & ">>> المحتوى فارغ"
    Else
        Return "===== ملف الهوست =====" & @CRLF & @CRLF & StringStripWS($Save_Data, 1 + 2)
    EndIf
EndFunc   ;==>Host
 
توقيع : White Man
السورس رقم 8 : إظهار أسماء الطابعات المثبتة

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

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

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


p_283x0sf1.png


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

السورس :

PHP:
#RequireAdmin
#include <Date.au3>


;------------------------------ [مثال]
Local $hFile = FileOpen("Report Printers.log", $FO_OVERWRITE + $FO_UNICODE)
If $hFile <> -1 Then
    FileWrite($hFile, Printers())
    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_WMI) Then Return "===== الطابعات المثبته =====" & @CRLF & @CRLF & ">>> فشل في البحث عن طابعات"
    ;==========
    Local $Query = $Object_WMI.ExecQuery("SELECT * FROM Win32_Printer"), $Result
    ;==========
    For $i In $Query
        If StringIsSpace($i.Caption) Then
            $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($Result) Then
        Return "===== الطابعات المثبته =====" & @CRLF & @CRLF & ">>> لا توجد طابعات"
    Else
        Return "===== الطابعات المثبته =====" & @CRLF & @CRLF & StringStripWS($Result, 1 + 2)
    EndIf
EndFunc   ;==>Printers
 
توقيع : White Man
السورس رقم 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($hDialog, 3) ; 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_File) Then 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_Temp, 2)
EndFunc   ;==>Hash


 
توقيع : White Man
السورس رقم 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
 
توقيع : White Man
السورس رقم 11 : فتح مسار بالريجستري دون الإنتقال إليه

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

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


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

السورس :
PHP:
#RequireAdmin

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

Func Open_Key_In_Registry($Path_Key)
    Select
        Case StringLeft($Path_Key, 4) = "HKCR"
            $Path_Key = "HKEY_CLASSES_ROOT" & StringTrimLeft($Path_Key, 4)

        Case StringLeft($Path_Key, 6) = "HKCU64"
            $Path_Key = "HKEY_CURRENT_USER" & StringTrimLeft($Path_Key, 6)

        Case StringLeft($Path_Key, 4) = "HKCU"
            $Path_Key = "HKEY_CURRENT_USER" & StringTrimLeft($Path_Key, 4)

        Case StringLeft($Path_Key, 6) = "HKLM64"
            $Path_Key = "HKEY_LOCAL_MACHINE" & StringTrimLeft($Path_Key, 6)

        Case StringLeft($Path_Key, 4) = "HKLM"
            $Path_Key = "HKEY_LOCAL_MACHINE" & StringTrimLeft($Path_Key, 4)

        Case StringLeft($Path_Key, 3) = "HKU"
            $Path_Key = "HKEY_USERS" & StringTrimLeft($Path_Key, 3)

        Case StringLeft($Path_Key, 4) = "HKCC"
            $Path_Key = "HKEY_CURRENT_CONFIG" & StringTrimLeft($Path_Key, 4)
    EndSelect
    ;==========
    Local $Save_Temp = $Path_Key
    ;==========
    If @OSArch = "X64" Then
        If StringLeft($Path_Key, 19) = "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
 
توقيع : White Man
السورس رقم 12 : الإستعلام عن الخيار المحدد في طريقة تثبيت التحديثات

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

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

مثال :

p_284iiw41.png


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

وأرفقت الدالة في نفس السورس واسمها 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_Update) Then 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_Update) Then Return "Error"
    ;==========
    $Object_Settings = $Object_Update.Settings
    $Object_Settings.NotificationLevel = $Mode
    $Object_Settings.Save
EndFunc   ;==>Set_Notification_Level
 
التعديل الأخير:
توقيع : White Man
السورس رقم 13 : إظهار الأجهزة الملحقة من إدارة الأجهزة

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


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

مثال :

p_2837ioo1.png


p_283f9sj1.png


كاتب السورس : المبدع / @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($hFile, Manager_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_WMI) Then 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.DeviceName) Then ContinueLoop
        ;==========
        $Save_Temp_2 = ''
        ;==========
        For $x = 0 To UBound($Class) - 1
            If $i.DeviceClass = $Class[$x] Then
                $Save_Temp_2 = $Class[$x]
                ExitLoop
            EndIf
        Next
        ;==========
        If StringIsSpace($Save_Temp_2) Then 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.DriverProviderName) Then
                        $Array[$Row][$y] = "الناشر : غير معروف"
                    Else
                        $Array[$Row][$y] = "الناشر : " & $i.DriverProviderName
                    EndIf

                Case "ID"
                    If StringIsSpace($i.HardWareID) Then
                        $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($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   ;==>Manager_Device
 
توقيع : White Man
السورس رقم 14 : إظهار أسماء التحديثات المثبتة

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


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

مثال :

p_2834i6q1.png

p_283r7ck2.png


كاتب السورس : المبدع / @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($hFile, History_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.Date, 8), "(\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($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   ;==>History_Update


Func Skip($oError) ; تخطي الأخطاء
   ; إذا أردت ضع تنبيهات
EndFunc   ;==>Skip
 
توقيع : White Man
السورس رقم 15 : إظهار أسم المعالج من إدارة الأجهزة

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


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

مثال :

p_2958zsam1.png


كاتب السورس : المبدع / @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($Result) Then
        MsgBox($MB_OK, '', "غير قادر على عرض أسم المعالج")
    Else
        MsgBox($MB_OK, '', StringStripWS($Result, 1 + 2))
    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.Name) Then $Result &= $i.Name & @CRLF
    Next
    ;---------------
    If StringIsSpace($Result) Then Return "Error"
    ;---------------
    Return StringStripWS($Result, 1 + 2)
EndFunc   ;==>Get_Name_Processor


Func Filter($Texts) ; تصفية النصوص المكررة
    Local $Save_Temp = StringSplit($Texts, @CRLF, -1)
    Local $Result = _ArrayUnique($Save_Temp)
    Return $Result
EndFunc   ;==>Filter
 
توقيع : White Man
السورس رقم 16 : إظهار اسم كرت الشاشة من إدارة الأجهزة

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


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

مثال :

p_295vu4uz1.png


كاتب السورس : المبدع / @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($Result) Then
        MsgBox($MB_OK, '', "غير قادر على عرض أسم كرت الشاشة")
    Else
        MsgBox($MB_OK, '', StringStripWS($Result, 1 + 2))
    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.Name) Then $Result &= $i.Name & @CRLF
    Next
    ;---------------
    If StringIsSpace($Result) Then Return "Error"
    ;---------------
    Return StringStripWS($Result, 1 + 2)
EndFunc   ;==>Get_Name_GPU


Func Filter($Texts) ; تصفية النصوص المكررة
    Local $Save_Temp = StringSplit($Texts, @CRLF, -1)
    Local $Result = _ArrayUnique($Save_Temp)
    Return $Result
EndFunc   ;==>Filter
 
توقيع : White Man
السورس رقم 17 : إظهار اسم الشاشة من إدارة الأجهزة

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


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

مثال :
p_295sr5on1.png


كاتب السورس : المبدع / @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($Result) Then
        MsgBox($MB_OK, '', "غير قادر على عرض أسم الشاشة")
    Else
        MsgBox($MB_OK, '', StringStripWS($Result, 1 + 2))
    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.Name) Then $Result &= $i.Name & @CRLF
    Next
    ;---------------
    If StringIsSpace($Result) Then Return "Error"
    ;---------------
    Return StringStripWS($Result, 1 + 2)
EndFunc   ;==>Get_Name_Screen


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

 
التعديل الأخير:
توقيع : White Man
السورس رقم 18 : إظهار الشركة المُصنعة وموديل اللوحة الأم

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


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

مثال :

p_295yt2vr1.png

كاتب السورس : المبدع / @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.Manufacturer) Then
            $Result &= "أسم الصانع : غير معروف" & @CRLF
        Else
            $Result &= "أسم الصانع : " & $i.Manufacturer & @CRLF
        EndIf
        ;-----
        If StringIsSpace($i.Product) Then
            $Result &= "الموديل : غير معروف" & @CRLF
        Else
            $Result &= "الموديل : " & $i.Product & @CRLF
        EndIf
    Next
    ;==========
    If StringIsSpace($Result) Then
        Return "Error"
    Else
        Return StringStripWS($Result, 1 + 2)
    EndIf
EndFunc   ;==>Get_Name_MotherBoard
 
توقيع : White Man
السورس رقم 19 : إظهار تاريخ ووقت تثبيت الويندوز

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


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

مثال :
مقارنة النتيجة مع برنامج Speccy
p_2952sccl1.png



كاتب السورس : المبدع / @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.InstallDate) Then _
                $Result &= StringLeft($i.InstallDate, 4) & _ ; السنة
                "/" & _
                StringMid($i.InstallDate, 5, 2) & _ ; الشهر
                "/" & _
                StringMid($i.InstallDate, 7, 2) & _ ; اليوم
                " , " & _
                StringMid($i.InstallDate, 9, 2) & _ ; الساعة
                ":" & _
                StringMid($i.InstallDate, 11, 2) & _ ; الدقائق
                ":" & _
                StringMid($i.InstallDate, 13, 2) ; الثواني
    Next
    ;==========
    If StringIsSpace($Result) Then
        Return "Error"
    Else
        Return $Result
    EndIf
EndFunc   ;==>Get_Date_And_Time_Format_Windows
 
توقيع : White Man
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى