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


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 

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


الملفات المرفقة
.rar   Test_InstalledApplication.rar (الحجم : 65.15 ك ب / التحميلات : 189)
Retired
الرد }}}
تم الشكر بواسطة: سعود الشامان , أبو نوره
#2
ألف شكر لك أستاذ silverlight 

تم تطبيق الطريقة الأولى

المثال في المرفقات


الملفات المرفقة
.rar   عرض البرامج المثبته.rar (الحجم : 73.71 ك ب / التحميلات : 97)
الرد }}}
تم الشكر بواسطة: أبو نوره
#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 

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

اوك اخي جلب الكود جلب ليه كل البرامج اريد التحقق من وجود برنامج معين ااين اكتب اسمه
الرد }}}
تم الشكر بواسطة:
#4
اين انت اخي......................
الرد }}}
تم الشكر بواسطة:
#5
عليك ان تبحث في المصفوفة عن اسم البرنامج المراد التحقق من وجوده
إن لم يكن اسم البرنامج موجود داخل المصفوفة تقوم بإنزاله و تركيبه
Retired
الرد }}}
تم الشكر بواسطة:


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

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


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