تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيفية جلب برامج التنقيح من اى جهاز لو موجودة؟
#2
يا مسعد,
الافضل هو فحص مسجل النظام عن البرامج التي تريدها و كون البرامج التي تريد فحصها بعدد غير معلوم .
انا اقترح عليك طريقة ان تقوم بالفحص في العقدة التالية
HKEY-LOCAL_MACHINE_SOFTWARE_MICROSOFT_WINDOWS_CurrentVersion_Unistall
لان غالبية البرامج يكون لديها عملية Unistall في هذه العقدة او المجلد يمكنك البحث عما تريد في مكان واحد
بكل الاحوال حتى لا اطيل عليك هذه دالة بثلاث طرق اختر ما يناسبك منها


PHP كود :
   Public Shared Function IsApplictionInstalled(p_name As String) As Boolean
        Dim displayName 
As String
        Dim key 
As RegistryKey

        
' search in: CurrentUser
        key = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
        For Each keyName As [String] In key.GetSubKeyNames()
            Dim subkey As RegistryKey = key.OpenSubKey(keyName)
            displayName = TryCast(subkey.GetValue("DisplayName"), String)
            If p_name.Equals(displayName, StringComparison.OrdinalIgnoreCase) = True Then
                Return True
            End If
        Next

        ' 
search inLocalMachine_32
        key 
Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
 
       For Each keyName As [StringIn key.GetSubKeyNames()
 
           Dim subkey As RegistryKey key.OpenSubKey(keyName)
 
           displayName TryCast(subkey.GetValue("DisplayName"), String)
 
           If p_name.Equals(displayNameStringComparison.OrdinalIgnoreCase) = True Then
                Return True
            End 
If
 
       Next

        
' search in: LocalMachine_64
        key = Registry.LocalMachine.OpenSubKey("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall")
        For Each keyName As [String] In key.GetSubKeyNames()
            Dim subkey As RegistryKey = key.OpenSubKey(keyName)
            displayName = TryCast(subkey.GetValue("DisplayName"), String)
            If p_name.Equals(displayName, StringComparison.OrdinalIgnoreCase) = True Then
                Return True
            End If
        Next

        ' 
NOT FOUND
        Return False
    End 
Function 

و الافضل ان تكون البرامج التي تريد فحصها (البحث عنها) ضمن مصفوفة .
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: الماجيك مسعد , sendbad100 , sendbad100


الردود في هذا الموضوع
RE: كيفية جلب برامج التنقيح من اى جهاز لو موجودة؟ - بواسطة ابو ليلى - 02-02-17, 06:04 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيفية عمل جدولين في نفس التقرير مختار الوافي 3 489 05-04-26, 02:51 PM
آخر رد: مصمم هاوي
  [سؤال] كيفية عمل ارشيف للملفات المحفوظة عاصم النجار 5 2,393 25-02-26, 04:04 AM
آخر رد: السودي
  جهاز ارسال رسائل SMS من خلال برنامج فيجوال بيسك جيولوجي مبتدئ 5 1,422 27-01-26, 12:13 PM
آخر رد: fath
  [VB.NET] طريقة تفعيل الشاشة الصغيرة في جهاز الكاشير MOHAMMED ALZWI 0 397 25-09-25, 02:17 PM
آخر رد: MOHAMMED ALZWI
  كيفية منع ظهور الأخطاء من إعدادات البيسيك mmaalmesry 2 1,049 29-08-25, 10:30 AM
آخر رد: mmaalmesry
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 952 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,335 06-08-25, 06:34 PM
آخر رد: Taha Okla
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,823 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 762 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  كيفية التعامل مع inputbox في فيجوال ستوديو أسامة حسين 4 3,758 14-01-25, 02:04 AM
آخر رد: أبو خالد الشكري

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


يقوم بقرائة الموضوع: