منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيفية جلب برامج التنقيح من اى جهاز لو موجودة؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
انا فاكر انى شفت قبل كدا كلاس او فنكشن كان بيتحقق اولا اذا كان فيه برنامج انتى فيرس شغال فى الجهاز ويظهر اسمه
ازاى بدل ما اعرف الانتى فيرس
اعرف اذا كان فى برامج تنقيح
مثل dnspy وريفليكتور
بس متقليش عن طريق اسم العملية
لان صعب اعمل على كل اسماء برامج التنقيح
اكيد فى كلاس او فنكشن بيعمل كدا
يا مسعد,
الافضل هو فحص مسجل النظام عن البرامج التي تريدها و كون البرامج التي تريد فحصها بعدد غير معلوم .
انا اقترح عليك طريقة ان تقوم بالفحص في العقدة التالية
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 

و الافضل ان تكون البرامج التي تريد فحصها (البحث عنها) ضمن مصفوفة .
(02-02-17, 06:04 PM)ابو ليلى كتب : [ -> ]يا مسعد,
الافضل هو فحص مسجل النظام عن البرامج التي تريدها و كون البرامج التي تريد فحصها بعدد غير معلوم .
انا اقترح عليك طريقة ان تقوم بالفحص في العقدة التالية
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 

و الافضل ان تكون البرامج التي تريد فحصها (البحث عنها) ضمن مصفوفة .

ابو ليلى كيفك يا غالى يارب تكون بخير

نعم اعلم كيفية جلبهم

ولكن انا اقصد فنكشن جاهز بدلا من اكتب كل اسمائهم + انى فى برامج منهم لا اعرف اسمها

والاهم ان معظمهم مش بيختاج تثبيت

وكمان معظم الى بيستخدمهم بيحفظهم فى فولدر خاص وليس مثل باقى البرامج فى C
الحمد لله انا بخير حفظك الله و رعاك 
للاسف لا اتوقع انه يمكنك ذلك لانك امام طرق و برامج كثيرة و بدل من البحث عن البرامج شفر كودك و احميه و ريح راسك من هذه البرامج.
(02-02-17, 06:44 PM)ابو ليلى كتب : [ -> ]الحمد لله انا بخير حفظك الله و رعاك 
للاسف لا اتوقع انه يمكنك ذلك لانك امام طرق و برامج كثيرة و بدل من البحث عن البرامج شفر كودك و احميه و ريح راسك من هذه البرامج.

ههههه اكيد عملت كدا ولكن كسروه وعملوا له كراك لذلك ببخث عن هذا الطلب ليساعدنى فى الحماية اكثر