منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكلة في قراءة قيمة من الريجستري - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكلة في قراءة قيمة من الريجستري (/showthread.php?tid=21748)

الصفحات: 1 2


مشكلة في قراءة قيمة من الريجستري - سعود الشامان - 18-09-17

السلام عليكم ورحمة الله وبركاته

إخواني صادفتني مشكلة غريبة نوعا ما
وأتوقع المشكلة في الصلاحيات

أحاول الوصول إلى قيمة ( رقم إصدار الفايرفوكس ) ولله الحمد بعد البحث أستطعت الوصول إليها

بالأمس الكود يعمل وتظهر بيانات القيمة واليوم للأسف لا تظهر وجميع القيم في مجلد SOFTWARE ومجلداته الفرعية لا تظهر بياناتها
مع العلم بأنه تظهر بيانات القيم الموجودة في مسارات أخرى مثل :

كود :
readValue = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "SystemProductName", Nothing)

كود المشروع

كود :
Public Class Form1
   Dim readValue As String
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       readValue = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox", "", Nothing)
       Label1.Text = readValue
   End Sub



RE: مشكلة في قراءة قيمة من الريجستري - silverlight - 18-09-17

مشكلة البيانات التي يتم تخزينها في الريجستري و الخاصة بالبرامج انه قد يتم تغييرها في اي وقت بواسطة البرنامج
وبالتالي فهي غير مضمونة تماما
ربما الريجستري الوحيد المضمون قراءته هو Uninstall الخاص بالويندوز
الحقيقة انا لست متذكر اسم هذا الريجستري تماما


RE: مشكلة في قراءة قيمة من الريجستري - سعود الشامان - 18-09-17

يسعد صبآحك أخوي silverlight

إقتباس :مشكلة البيانات التي يتم تخزينها في الريجستري و الخاصة بالبرامج انه قد يتم تغييرها في اي وقت بواسطة البرنامج

وبالتالي فهي غير مضمونة تماما

كلامك سليم لكني اريدها في شغلة معينة

أنا أريدها أن تتغير اذا ثبت نسخه احدث يتم وضع النسخه الحديثه والعكس
لي يومين متابع فيها احذف البرنامج واثبت نسخة اقدم أحصله وضع رقم النسخه الأقدم في الريجستري


ولتوضيح الفكرة بشكل أكبر



أختصرت هذه المقالة بضغطة زر

https://www.internetdownloadmanager.com/support/firefox8_integration.html

يتم قراءة رقم إصدار الفايرفوكس وبناء عليه يتم إستخراج إضافة IDM المتوافقة مع رقم الإصدار في القرص C والامر التالي فتح الإضافة بواسطة الفايرفوكس


كود المشروع بشكل كامل

كود :
Public Class Form1
   Dim readValue As String
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       readValue = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox", "", Nothing)
       Label1.Text = readValue
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Try

           readValue = My.Computer.Registry.GetValue _
("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox", "", Nothing)
           If readValue >= "53.0.0" Then
               IO.File.WriteAllBytes("C:\idmmzcc3.xpi", My.Resources.idmmzcc3)
               Process.Start("firefox.exe", "C:\idmmzcc3.xpi")
               Return
           End If

           If readValue >= "27.0.0" Then
               IO.File.WriteAllBytes("C:\idmmzcc2.xpi", My.Resources.idmmzcc2)
               Process.Start("firefox.exe", "C:\idmmzcc2.xpi")
               Return
           End If


           If readValue >= "1.5" Then
               IO.File.WriteAllBytes("C:\idmmzcc.xpi", My.Resources.idmmzcc)
               Process.Start("firefox.exe", "C:\idmmzcc.xpi")
               Return
           End If

       Catch ex As Exception
           MsgBox("حدث خطأ ما , إذا كان فايرفوكس يعمل قم بإغلاقه وإعادة االمحاولة", MsgBoxStyle.Critical, Me.Text)
       End Try

   End Sub


End Class



RE: مشكلة في قراءة قيمة من الريجستري - silverlight - 18-09-17

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

الحصول علي جميع البرامج التي تم تنصيبها علي جهاز الكمبيوتر


RE: مشكلة في قراءة قيمة من الريجستري - سعود الشامان - 18-09-17

ما قصرت يالغالي , واستفدت من الموضوع كثير ( عمل تقرير للبرامج المثبته )



لكن المشكلة يصعب جلب بيانات القيمة من هذا المسار

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 51.0.1 (x64 ar)

أما هذا المسار ثابت

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox

لكن الإشكالية أن بيانات القيمة لا تظهر مع العلم سابقا انها تظهر ولو جربت ستظهر لديك

وجدت القيمة في مسار آخر


كود :
My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\mozilla.org\Mozilla", "CurrentVersion", Nothing)


السؤوال هل هذا المسار موجود في جميع أنظمة الويندوز بالنواتين 32 بت و 64 بت ؟


RE: مشكلة في قراءة قيمة من الريجستري - أبو نوره - 19-09-17

مرحبا اخى سعود

يمكن في هذا المثال تجد فيه ما تبحث عنه

[attachment=15477]

[attachment=15478]


RE: مشكلة في قراءة قيمة من الريجستري - سعود الشامان - 19-09-17

هلا وغلا أبو نوره مثال جداً جمممميل وأستفدت منه أشياء كثير , أشكرك جداً

وأول مره أعرف اداة FlowLayoutPanel وطريقة إستخدامها

--------------------------------------------------------------

حملت المثال 





b = جميع المتصفحات

كود :
For Each b As Browser In Browsers.GetBrowsers

هل أستطيع جعل b = متصفح الفايرفوكس فقط ؟

لأن بستخدم if الشرطيه , إذا كان رقم الإصدار كذا إعمل كذا


RE: مشكلة في قراءة قيمة من الريجستري - أبو نوره - 19-09-17

مرحبا اخى

PHP كود :
Dim b As List(Of Browser) = Browsers.GetBrowsers
Dim firefox 
As Browser = (From x As Browser In b Where x.Name.Equals("Mozilla Firefox")).FirstOrDefault

If Not IsNothing(firefoxThen
    Select 
Case firefox.Version
        Case 
"55.0.3"
 
           MsgBox("إعمل كذا")

 
       Case "66.55.77"
 
           MsgBox("متعملش كذا")

 
   End Select
End 
If 



RE: مشكلة في قراءة قيمة من الريجستري - سعود الشامان - 19-09-17

ألف شكر يا باش مهندس


سؤال أخير من أين تتم قراءة القيمة ؟ وهل سيعمل مع جميع انظمة الويندوز بالنواتين 32بت و 64 بت ؟


RE: مشكلة في قراءة قيمة من الريجستري - أبو نوره - 19-09-17

مرحبا اخى

لم افهم اي قيمه تقصد! قد تقصد firefox.Version وهناك قيم اخرى ستظهر لك عندما تضع نقطه بعد firefox اثناء كتابه الكود

ان شاء الله يعمل في جميع الانظمه