تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الحصول علي جميع البرامج التي تم تنصيبها علي جهاز الكمبيوتر
#3
(18-09-17, 12:26 PM)silverlight كتب : الفكرة تنحصر في قراءة الريجستري و استرجاع البيانات منه علي هيئة مصفوفة للكلاس التالي


PHP كود :
Public Class InstalledAssembly
    Public Property Name
() As String
    Public Property Location
() As String
    Public Property Icon
() As String
End 
Class 

الدالة التالية تقرأ الريجستري ومنها نحصل علي جميع البرامج التي تم تنصيبها علي جهاز الكمبيوتر
PHP كود :
   Private Function GetAllInstallAssemblies() As List(Of InstalledAssembly)
 
       Dim result As List(Of InstalledAssembly) = New List(Of InstalledAssembly)()
 
       Dim regKeyString As String "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
 
       Using key As Microsoft.Win32.RegistryKey Microsoft.Win32.Registry.LocalMachine.OpenSubKey(regKeyString)
 
           If key IsNot Nothing Then
                Dim names 
As String() = key.GetSubKeyNames()
 
               Dim i As Integer 0
                While i 
names.Length
                    Dim currentName 
As String names(i)
 
                   Using subKey As Microsoft.Win32.RegistryKey key.OpenSubKey(currentName)
 
                       Try
                            Dim currentInstalledAssembly 
As InstalledAssembly = New InstalledAssembly
                            If subKey IsNot Nothing AndAlso subKey
.GetValue("DisplayName"IsNot Nothing Then
                                currentInstalledAssembly
.Name subKey.GetValue("DisplayName").ToString()

 
                               If subKey.GetValue("DisplayIcon"IsNot Nothing Then
                                    currentInstalledAssembly
.Icon subKey.GetValue("DisplayIcon").ToString()
 
                               Else
                                    currentInstalledAssembly
.Icon ""
 
                               End If
 
                               If subKey.GetValue("InstallLocation"IsNot Nothing Then
                                    currentInstalledAssembly
.Location subKey.GetValue("InstallLocation").ToString()
 
                               Else
                                    currentInstalledAssembly
.Location ""
 
                               End If
 
                               If Not result.Contains(currentInstalledAssemblyThen
                                    result
.Add(currentInstalledAssembly)
 
                               End If

 
                           End If

 
                       Catch ex As Exception
                        End 
Try
 
                   End Using
                    i 
+= 1
                End 
While
 
           End If
 
       End Using
        Return result
    End 
Function 



طريقة استخدام الكود


PHP كود :
       For Each ia As InstalledAssembly In GetAllInstallAssemblies()
 
           ListBox1.Items.Add(ia.Name)
 
       Next 

طريقة أخري
 
لكي تحصل علي أسماء البرامج فقط دون الحاجة للكلاس
يمكنكم استخدام الدالة التالية فقط


PHP كود :
   Private Function GetInstalledApplicationNames() As List(Of String)
 
       Dim result As List(Of String) = New List(Of String)()
 
       Dim regKeyString As String "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"

 
       Using key As Microsoft.Win32.RegistryKey Microsoft.Win32.Registry.LocalMachine.OpenSubKey(regKeyString)
 
           If key IsNot Nothing Then
                Dim names 
As String() = key.GetSubKeyNames()
 
               Dim i As Integer 0
                While i 
names.Length
                    Dim currentName 
As String names(i)
 
                   Using subKey As Microsoft.Win32.RegistryKey key.OpenSubKey(currentName)
 
                       Try
                            If subKey IsNot Nothing AndAlso subKey
.GetValue("DisplayName"IsNot Nothing Then
                                Dim installedapplication 
As String subKey.GetValue("DisplayName").ToString()
 
                               If Not result.Contains(installedapplicationThen
                                    result
.Add(installedapplication)
 
                               End If
 
                           End If
 
                       Catch ex As Exception
                        End 
Try
 
                   End Using
                    i 
+= 1
                End 
While
 
           End If

 
       End Using

        Return result
    End 
Function 

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

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


الردود في هذا الموضوع
RE: الحصول علي جميع البرامج التي تم تنصيبها علي جهاز الكمبيوتر - بواسطة عبدالرحمن المكاوي - 18-09-17, 01:02 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] بعض اكود التي ستفيدك فا البرمج الجزاء الثاني محمد ايمن 6 11,482 04-12-22, 12:19 AM
آخر رد: أبووسم
Star [مثال] الاصدار الثاني لدالة التفقيط جميع العملات العربية محمود بكرى 0 3,171 24-01-20, 11:08 PM
آخر رد: محمود بكرى
  [VB.NET] تشغيل قاعدة البيانات التي على السيرفر من اي جهاز على الشبكة ahmed saleh 4 6,583 10-03-19, 09:49 AM
آخر رد: معتز حسن
Exclamation [سؤال] اريد كود او الطريقة التي تشغل البرنامج اوتوماتيك عند تشغيل الجهاز YousefOkasha 3 4,187 24-04-18, 05:30 PM
آخر رد: moniam
  الحصول على تاريخ Sqlserver سعود 0 2,318 06-09-17, 03:04 AM
آخر رد: سعود
  اريد تحزيم البرنامج بعيدا عن مشاكل الفريمورك بحيث يشتغل في اي جهاز ماهي الطريقة samirzaima 3 4,344 09-05-17, 09:30 PM
آخر رد: Ratchinko
  طلب كود الاتصال بقاعدة بيانات موجودة في جهاز اخر thevirus 9 5,967 17-04-17, 02:45 AM
آخر رد: ABDSH
  كود الحصول على رقم عشوائي ahmad abdullah 0 2,807 04-10-16, 11:53 AM
آخر رد: ahmad abdullah
  [كود] معرفة جميع الملفات الموجودة في الريسورس Resources @@أبورائد@@ 3 5,714 20-10-13, 02:09 AM
آخر رد: ali.alfoly

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


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