الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أعرف أن برنامجاً ما مثبت في جهاز المستخدم ؟

مغلق
بدأه أبوصهيب في 6 مارس 2006 · 4 رد · 625 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

صممت برنامجاً لقراءة صوتيات بامتداد ram ، mp3 ، ولا بد لكي يعمل أن يكون برنامج Real Player مثبتاً في جهاز المستخدم .

فهل من أحد يفيدني كيف أعرف ما إذا كان البرنامج مثبتاً لدى المستخدم أم لا ؟

وبارك الله في جهود الجميع

#2

يوجد Key في الريجستري (لا أعلمه مكانه) يحوي Values بأسماء البرامج المثبته في قائمة Add/Remove يمكن البحث عن القيمة التي تحتوي علي الـ Value التي تحوي اسم برنامج الـ RealPlayer فان وجدتها يبقي البرنامج موجود وان لم تجد القيمه يبقي البرنامج غير موجود B)

ويفضل أن تقوم بعمل دالة تعود بقيمة من النوع Boolean حتي تسهل عليك كتابة الكود ,اي خدمة ;)

الحاجه الوحيده اللي ناقصاك هي مكان الـ Key في الريجستري ؟؟؟ يا ريت حد يساعد يا جماعه ,,,

#3

هدور عليه و أجبهولك :)

#4

المكان إلي يقصده حازم في فكرته هو :

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\

و ربنه يوفقك :)

عمرو عيسي

#5

الأخوين الكريمين حازم و R0OT بارك الله فيكما على ردكما على سؤالي ، وأحمد الله إذ نجحت الطريقة التي أرشدتماني إليها .

وإتماماً للفائدة فالكود الذي يحدد ما إذا كان برنامج Real Player مثبتاً هو التالي :

Public Enum ERegistryClassConstants

HKEY_CLASSES_ROOT = &H80000000

HKEY_CURRENT_USER = &H80000001

HKEY_LOCAL_MACHINE = &H80000002

HKEY_USERS = &H80000003

End Enum

'Define severity codes

Private Const ERROR_SUCCESS = 0&

Private Const ERROR_ACCESS_DENIED = 5

Private Const ERROR_INVALID_DATA = 13&

Private Const ERROR_MORE_DATA = 234 ' dderror

Private Const ERROR_NO_MORE_ITEMS = 259

Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" _

(ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _

ByVal samDesired As Long, phkResult As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long

Private m_hClassKey As Long

Private m_sSectionKey As String

Public Property Get KeyExists() As Boolean

'KeyExists = bCheckKeyExists( _

' m_hClassKey, _

' m_sSectionKey _

' )

Dim hKey As Long

If RegOpenKeyEx(m_hClassKey, m_sSectionKey, 0, 1, hKey) = ERROR_SUCCESS Then

KeyExists = True

RegCloseKey hKey

Else

KeyExists = False

End If

End Property

Sub main()

m_hClassKey = HKEY_LOCAL_MACHINE

m_sSectionKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RealPlayer 6.0"

If KeyExists Then

MsgBox "Real Player Found"

Else

MsgBox "Real Player Not Found"

End If

End Sub

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…