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

نسخة كاملة : محتاج تعديل بسيط على الكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله

هذا كود يطلع لي البرامج المنزله في الكمبيوتر
 Control Panel  Programs and Features

كود :
       Dim wqlQuery As New WqlObjectQuery("SELECT * FROM Win32_Product")
           Dim searcher As New ManagementObjectSearcher(wqlQuery)
           For Each row As ManagementObject In searcher.Get()
               Dim name As Object = row("Name")
               Dim version As Object = row("Version")
               Console.WriteLine("Name: " & name & " - Version: " & version)


               If "TeamViewer" = " & name & " Then
                   MsgBox("ok")
               Else
                   MsgBox("no")

               End If

           Next row


محتاج اعمل بحث للبرامج واذا طلع البرنامج المذكور في اللسته يقولي اوك موجود

كود :
               If "TeamViewer" = " & name & " Then
                   MsgBox("ok")
               Else
                   MsgBox("no")

               End If


بارك الله فيكم وشكرا
فى البداية الكود يستخدم كالتالى
كود :
       Dim wqlQuery As New WqlObjectQuery("SELECT * FROM Win32_Product")
       Dim searcher As New ManagementObjectSearcher(wqlQuery)
       For Each row As ManagementObject In searcher.Get()
           MsgBox("Name: " & row("Name") & vbNewLine & "Version: " & row("Version"))
           If row("Name") = "اسم البرنامج كما يظهر فى الرسالة" Then
               MsgBox("ok")
           Else
               MsgBox("no")
           End If
       Next row

حيث ان جملة التالية تعنى اسم البرنامج
PHP كود :
row("Name"

حيث ان جملة التالية تعنى اصدار البرنامج
PHP كود :
row("Version"

وبما انك تريد عمل كود التاكد من الاسم فكل ما عليك استخدام الشرط بهذا الطريقة
كود :
           If row("Name") = "اسم البرنامج كما يظهر فى الرسالة" Then
               MsgBox("ok")
           Else
               MsgBox("no")
           End If

تذكر حتى يعمل الكود فى اى مشروع تقوم انشائه جديد
يجب ان تقوم باستدعاء المكتبة الخاصة بـ WqlObjectQuery

حتى يعمل الكود دون اى مشكلة

تحياتى لك
وتمنياتى لك التوفيق
(16-08-18, 12:28 AM)elgokr كتب : [ -> ]فى البداية الكود يستخدم كالتالى
كود :
       Dim wqlQuery As New WqlObjectQuery("SELECT * FROM Win32_Product")
       Dim searcher As New ManagementObjectSearcher(wqlQuery)
       For Each row As ManagementObject In searcher.Get()
           MsgBox("Name: " & row("Name") & vbNewLine & "Version: " & row("Version"))
           If row("Name") = "اسم البرنامج كما يظهر فى الرسالة" Then
               MsgBox("ok")
           Else
               MsgBox("no")
           End If
       Next row

حيث ان جملة التالية تعنى اسم البرنامج
PHP كود :
row("Name"

حيث ان جملة التالية تعنى اصدار البرنامج
PHP كود :
row("Version"

وبما انك تريد عمل كود التاكد من الاسم فكل ما عليك استخدام الشرط بهذا الطريقة
كود :
           If row("Name") = "اسم البرنامج كما يظهر فى الرسالة" Then
               MsgBox("ok")
           Else
               MsgBox("no")
           End If

تذكر حتى يعمل الكود فى اى مشروع تقوم انشائه جديد
يجب ان تقوم باستدعاء المكتبة الخاصة بـ WqlObjectQuery

حتى يعمل الكود دون اى مشكلة

تحياتى لك
وتمنياتى لك التوفيق



كود :
           Dim wqlQuery As New WqlObjectQuery("SELECT * FROM Win32_Product")
           Dim searcher As New ManagementObjectSearcher(wqlQuery)
           For Each row As ManagementObject In searcher.Get()

               If row("Name") = "BKLog" Then
                   MsgBox("ok")
               Else
                   MsgBox("no")
               End If
           Next row


احسنت الكود شغال تمام الحمدالله

بس 
يطلع الشرط MsgBox("no  على كل البرامج ويوم يوصل الى البرنامج المطلوب يعطيني  MsgBox("ok
ومن ثم يستمر بالشرط MsgBox("no لغاية ما ينهي عرض البرامج كلهم


انا كنت محتاج الكود يقوم بالبحث واذا حصل البرنامج يقولي اوك واذا ما حصله يقول no 


اتمنى اكون وصلت الفكره بشكل جيد 

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

لديك طريقة من اثنين
اما ان تقوم بحذف التالى اذا كنت لا تريد ظهور No
كود :
Else
               MsgBox("no")

اما ان تقوم باستخدام الكود بهذا الشكل
كود :
       Dim wqlQuery As New WqlObjectQuery("SELECT * FROM Win32_Product")
       Dim searcher As New ManagementObjectSearcher(wqlQuery)
       Dim ii As Integer = 0
       For Each row As ManagementObject In searcher.Get()
           If row("Name") = "BKLog" Then
               ii += 1
           End If
       Next row
       If ii <> 0 Then
           MsgBox("yes")
       Else
           MsgBox("no")
       End If

تحياتى لك
وتمنياتى لك التوفيق
(16-08-18, 02:15 AM)elgokr كتب : [ -> ]
طبيعي سيظهر لانه يقوم باختبار الاسم مع كل الاسماء الموجودة

لديك طريقة من اثنين
اما ان تقوم بحذف التالى اذا كنت لا تريد ظهور No
كود :
Else
               MsgBox("no")

اما ان تقوم باستخدام الكود بهذا الشكل
كود :
       Dim wqlQuery As New WqlObjectQuery("SELECT * FROM Win32_Product")
       Dim searcher As New ManagementObjectSearcher(wqlQuery)
       Dim ii As Integer = 0
       For Each row As ManagementObject In searcher.Get()
           If row("Name") = "BKLog" Then
               ii += 1
           End If
       Next row
       If ii <> 0 Then
           MsgBox("yes")
       Else
           MsgBox("no")
       End If

تحياتى لك
وتمنياتى لك التوفيق

تسلم ايدك فعا هذا المطلوب

جزاك الله خير

الحمدالله والشكر
Rolleyes
الحمد لله والشكر لله

تحياتى لك
وتمنياتى لك التوفيق