إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

جلب كافة البرامج المثبتة على الكمبيوتر

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • جلب كافة البرامج المثبتة على الكمبيوتر

    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
    حياكم الله

    لدي سؤال:

    كيف يمكنني جلب كافة البرامج المثبة على الكمبيوتر !!

    شاكر لكم التعاون

  • #2
    بسم الله الرحمن الرحيم

    البرنامج الرائع
    Acronis True Image
    والذي يغنيك نهائيا عن الفرمتة
    تستطيع بواسطة البرنامج اخذ نسخ احتاطية من النظام وكافة البرامج المثبتة بالجهاز
    وحرقها على قرص قابل للاقلاع

    تعليق


    • #3
      المشاركة الأصلية بواسطة azizsoft مشاهدة المشاركة
      بسم الله الرحمن الرحيم

      البرنامج الرائع
      Acronis True Image
      والذي يغنيك نهائيا عن الفرمتة
      تستطيع بواسطة البرنامج اخذ نسخ احتاطية من النظام وكافة البرامج المثبتة بالجهاز
      وحرقها على قرص قابل للاقلاع
      مرحباً والله بأستاذنا الغالي عبد العزيز
      رُبما أنك لم تفهم قصدي, وهدفي

      أردت كود لجلب كافة البرامج المثبتة على الكمبيوتر ووضع أسمائها في Listbox .. هذا ما اردته
      حتى يتم التعامل معها بحسب هدف المشروع

      تعليق


      • #4
        السلام عليكم ورحمة الله وبركاته
        نيابة عن أستاذي عزيز :
        تستطيع مناداتها من الريجستري
        كود:
         tbl = Registry.GetKeyNames(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
        for i,prog in pairs (tbl) do
        ListBox.AddItem("ListBox1", prog);
        end
        موفق

        تعليق


        • #5
          المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
          السلام عليكم ورحمة الله وبركاته
          نيابة عن أستاذي عزيز :
          تستطيع مناداتها من الريجستري
          كود:
           tbl = Registry.GetKeyNames(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
          for i,prog in pairs (tbl) do
          ListBox.AddItem("ListBox1", prog);
          end
          موفق
          جزاك الله خير

          هذا الشيئ قد جربته من قبل.. لكنه يزيد في البرامج المثبتة بشكل غير معقول

          شاهد الصورة التالية

          رُبما يكون الأمر التالي تبع موجة الأوامر (CMD), أقرب مصداقية من الريجستري
          wmic product

          لكنه أعطاني 93 برنامج !! بينما المثبت عندي 77 !!

          تعليق


          • #6
            السلام عليكم ورحمة الله وبركاته
            أكتب في global functions
            كود PHP:
            function GetItemForUninstallKey(strKeyName,strItemName)
                
            local strFullKey "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"..strKeyName;
                
            local strName Registry.GetValue(HKEY_LOCAL_MACHINE,strFullKey,strItemName);
                return 
            strName;
            end
            function FillProgramsList()
                
            ListBox.DeleteItem("ListBox1", -1);
                
            ListBox.SetUpdate("ListBox1"false);
                
            StatusDlg.Show();
                
            StatusDlg.SetTitle("Initializing...");
                
            StatusDlg.SetMessage("");
                
            local tblKeys Registry.GetKeyNames(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
                
            StatusDlg.SetMeterRange(1,Table.Count(tblKeys));
                
            local nCounter 1;
                for 
            i,Name in pairs (tblKeys) do
                    
            StatusDlg.SetMessage(Name);
                    
            StatusDlg.SetMeterPos(nCounter);
                    
            local strDisplayName GetItemForUninstallKey(Name,"DisplayName");
                    if(
            strDisplayName ~= "")then
                        ListBox
            .AddItem("ListBox1"strDisplayNameName);
                    
            end
                    
                    nCounter 
            nCounter 1;
                
            end
                StatusDlg
            .Hide();
                
            ListBox.SetUpdate("ListBox1"true);
            end 
            لديك الان هذا الأمر أكتبه في on show أو في زر
            كود PHP:
            FillProgramsList() 
            جرب هذا الشيء وموفق

            تعليق


            • #7
              المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
              السلام عليكم ورحمة الله وبركاته
              أكتب في global functions
              كود PHP:
              function GetItemForUninstallKey(strKeyName,strItemName)
                  
              local strFullKey "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"..strKeyName;
                  
              local strName Registry.GetValue(HKEY_LOCAL_MACHINE,strFullKey,strItemName);
                  return 
              strName;
              end
              function FillProgramsList()
                  
              ListBox.DeleteItem("ListBox1", -1);
                  
              ListBox.SetUpdate("ListBox1"false);
                  
              StatusDlg.Show();
                  
              StatusDlg.SetTitle("Initializing...");
                  
              StatusDlg.SetMessage("");
                  
              local tblKeys Registry.GetKeyNames(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
                  
              StatusDlg.SetMeterRange(1,Table.Count(tblKeys));
                  
              local nCounter 1;
                  for 
              i,Name in pairs (tblKeys) do
                      
              StatusDlg.SetMessage(Name);
                      
              StatusDlg.SetMeterPos(nCounter);
                      
              local strDisplayName GetItemForUninstallKey(Name,"DisplayName");
                      if(
              strDisplayName ~= "")then
                          ListBox
              .AddItem("ListBox1"strDisplayNameName);
                      
              end
                      
                      nCounter 
              nCounter 1;
                  
              end
                  StatusDlg
              .Hide();
                  
              ListBox.SetUpdate("ListBox1"true);
              end 
              لديك الان هذا الأمر أكتبه في on show أو في زر
              كود PHP:
              FillProgramsList() 
              جرب هذا الشيء وموفق
              جميل جداً أستاذي ثامر

              لكنه لم يؤدي هدفه بإتقان.. !!
              فهو شبيه بالأمر
              wmic product list /format:htable > App.html

              وهذه قائمة بالبرامج
              تكرار لـ CCC !!!

              هل يمكن استغلال Autoit في جلب البرامج

              تعليق


              • #8
                بسم الله الرحمن الرحيم

                عفوا لم انتبه للقسم

                بارك الله فيكم جميعا
                شكرا للاستاذ أبو بلقيس

                تعليق


                • #9
                  لا أضن هناك امكانية استغلال اضافة الـ autoit في جلب أسماء البرامج المثبته
                  و إن قصدته كبرنامج
                  كود PHP:
                  #include <Array.au3> ;Only for array displaying

                  Local $strComputer$strInput

                  $strComputer 
                  = (InputBox("List software","Enter COMPUTER NAME to query list of installed programs."))

                  If 
                  $strComputer '' Then
                      $strComputer 
                  "\\" & @ComputerName "\" ;current computer
                  Else
                      
                  $strComputer = "\\" & $strComputer & "\"
                  EndIf

                  $return = _SoftwareInfo($strComputer)
                  _ArrayDisplay(
                  $return, "Installed Programs")

                  Func _SoftwareInfo(
                  $computer = $strComputer)
                      Local Const 
                  $regkey = $computer & 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
                      Local 
                  $key$Count = 0, $avArray[1]

                      While 1
                          
                  $Count = $Count + 1
                          
                  $key = RegEnumKey($regkey$Count)
                          If @error Then ExitLoop

                          
                  $line = RegRead($regkey & '\' & $key, 'Displayname')
                          If @error Then ContinueLoop

                          
                  $line = StringReplace($line, ' (remove only)', '')

                          
                  $avArray[0] += 1
                          ReDim 
                  $avArray[$avArray[0] + 1]
                          
                  $avArray[$avArray[0]] = $line
                      WEnd

                  Return 
                  $avArray
                  EndFunc 

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                    لا أضن هناك امكانية استغلال اضافة الـ autoit في جلب أسماء البرامج المثبته
                    و إن قصدته كبرنامج
                    كود PHP:
                    #include <Array.au3> ;Only for array displaying

                    Local $strComputer$strInput

                    $strComputer 
                    = (InputBox("List software","Enter COMPUTER NAME to query list of installed programs."))

                    If 
                    $strComputer '' Then
                        $strComputer 
                    "\\" & @ComputerName "\" ;current computer
                    Else
                        
                    $strComputer = "\\" & $strComputer & "\"
                    EndIf

                    $return = _SoftwareInfo($strComputer)
                    _ArrayDisplay(
                    $return, "Installed Programs")

                    Func _SoftwareInfo(
                    $computer = $strComputer)
                        Local Const 
                    $regkey = $computer & 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
                        Local 
                    $key$Count = 0, $avArray[1]

                        While 1
                            
                    $Count = $Count + 1
                            
                    $key = RegEnumKey($regkey$Count)
                            If @error Then ExitLoop

                            
                    $line = RegRead($regkey & '\' & $key, 'Displayname')
                            If @error Then ContinueLoop

                            
                    $line = StringReplace($line, ' (remove only)', '')

                            
                    $avArray[0] += 1
                            ReDim 
                    $avArray[$avArray[0] + 1]
                            
                    $avArray[$avArray[0]] = $line
                        WEnd

                    Return 
                    $avArray
                    EndFunc 
                    جزاك الله خير أستاذي الفاضل ثامر

                    نتيجة السورس هذا هي نفس النتائج السابقة..
                    على كل جزاك الله خير وبارك فيك

                    تعليق

                    مواضيع تهمك

                    تقليص

                    المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                    المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                    المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                    المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                    المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                    يعمل...
                    X