تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أريد معرفة ما ان كان البرنامج موجود مسبقا علي الكمبيوتر ام لا
#1
السلام عليكم ورحمة الله وبركاته
اسأل الله ان يتقبل منا ومنكم الصيام والقيام ويبارك لنا فيما بقي من رمضان ويوفقنا فيه للأعمال الصالحات وان يجعلنا من عتقائه من النار في هذا الشهر الكريم آمين 


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

استعمل هذا الكود للبحث عن اسم البرنامج داخل الكمبيوتر ولكن يبدو أن هنالك خطأ ما حيث تأتيني رسالة أن الملف غير موجود بكل مرة 
PHP كود :
       If My.Computer.FileSystem.FileExists("MyAppName.exe") = True Then
            MsgBox
("File found")
 
       Else
            MsgBox
("File not found")
 
       End If 

 أرجو الافادة وجزاكم الله خيرا
الرد
تم الشكر بواسطة:
#2
هل إسم الملف الخاص بك

MyAppName.exe
الرد
تم الشكر بواسطة:
#3
إقتباس :هل إسم الملف الخاص بك

MyAppName.exe

نعم - وقد سمحت للعميل عند تسطيب البرنامج ان يحدد مسار التسطيب - أي ان مسار التسطيب لن يكون معلوما منذ البداية لذي اريد البحث عن اسم البرنامج فقط دون مساره 
وجزاكم الله خيرا
الرد
تم الشكر بواسطة:
#4
لم أكن أعلم أن سؤالي صعب لهذه الدرجة حتي لا يجد من يرد عليه 
أو أنه اتفه من أن يشغل به الطيبون بالهم  Big Grin

علي كل انا امزح  Shy  ولا زلت بانتظار جواب من الطيبين ، الذين أعلم ان اشغالهم، واشتغالهم بالعشر الآواخر قد منعتهم من التواجد - أسأل الله أن يتقبل منا ومنكم صالح الأعمال.
الرد
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله وبركاته
اخي الكريم عبد الله على اعتبار ان البرنامج يثبت عادة في مجلد ProgramFiles وبالتالي سيتم البحث في المسار فأن وجد الاسم ستكون الرسالة موجود والا فلا

كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       If (Not System.IO.Directory.Exists(My.Computer.FileSystem.SpecialDirectories.ProgramFiles & "\MyAppName\MyAppName.exe")) Then
           MsgBox("الكمبيوتر لا يمتلك برنامج \MyAppName\MyAppName.exe")
       Else
           MsgBox("الكمبيوتر يمتلك برنامج \MyAppName\MyAppName.exe")
       End If
   End Sub
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
#6
جزاكم الله خيرا وبارك فيك 
إقتباس :على اعتبار ان البرنامج يثبت عادة في مجلد ProgramFiles

نعم صدقت ولكن ولو لاحظت حضرتك في ردي السابق أني قلت:

إقتباس :نعم - وقد سمحت للعميل عند تسطيب البرنامج ان يحدد مسار التسطيب - أي ان مسار التسطيب لن يكون معلوما منذ البداية

فكيف سيكون الكود في حال أن العميل حدد مسارا مختلفا عن المسار الافتراضي للتثبيت؟!! 

يعني باختصار اريد أن ابحث عن اسم البرنامج داخل الجهاز وتظهر لي في نتائج البحث  مساره (أين هو بالضبط)

 وجزاكم الله خيرا
الرد
تم الشكر بواسطة:
#7
هل البرنامج ينزل في مجلد خاص باسم الشركة مثلا أم فقط اسم مجلد البرنامج الاساسي ؟

لو أمكن صورة من شجرة مسار البرنامج
Don't Be The Perfect one
be the right one
الرد
تم الشكر بواسطة: أبو عبدالله الحلواني
#8
إقتباس :هل البرنامج ينزل في مجلد خاص باسم الشركة مثلا أم فقط اسم مجلد البرنامج الاساسي ؟

فقط اسم مجلد البرنامج الأساسي

وقد استعملت هذا الكود وخرجت معي نتائج صحيحة والحمد لله ولكن انتظر اقتراحاتكم علي الكود حيث ان الكود يتطلب تحديد اسم المجلد الحاوي للبرنامج ويفترض ان البرنامج تم تثبيته بالفولدر الخاص به بالدريف مباشرة أي هكذا مثلا: 
C:\AppFolder\AppName 
فهل يمكن تجاوز شرط معرفة اسم المجلد مثلا، وهذا هو الكود
PHP كود :
       Dim pas As String
        For Each drive In Environment
.GetLogicalDrives
            Dim driver 
As DriveInfo = New DriveInfo(drive)
 
           If driver.DriveType DriveType.Fixed Then
                pas 
drive
                On Error Resume Next
                For Each foundFile 
As String In My.Computer.FileSystem.GetFiles(pas "\AppFolder"FileIO.SearchOption.SearchTopLevelOnly"*.exe"
 
                   ListBox1.Items.Add(foundFile)
 
               Next
            End 
If
 
       Next 
وجزاكم الله خيرا
الرد
تم الشكر بواسطة:
#9
اخي الفاضل

اسمح لي سأستخدم طريقى اخرى في الكشف عن وجود البرنامج بالجهاز

ينستعلم من خلال قيم الريجستري

استخدم هذا الكود :

كود :
Dim PROG_Registry As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("Software\WOW6432Node\اسم مجلد البرنامج")
       If PROG_Registry Is Nothing Then

           'key does not exist
           MsgBox("Key does not exist")
       Else
           'key is valid, display actual name
           MsgBox(PROG_Registry.Name)
           MsgBox("Program Already Installed ")
       End If
Don't Be The Perfect one
be the right one
الرد
تم الشكر بواسطة:
#10
إقتباس :اسمح لي سأستخدم طريقى اخرى في الكشف عن وجود البرنامج بالجهاز

جزاك الله خيرا طريقة جميلة وسريعة في الوصول للمطلوب 
ولكن هل قيم الرجستري ستختلف مع اختلاف نسخة الويندوز 
فقد وجدت  ان مسار البرنامج كما هو بالرجستري لدي كالتالي: 
إقتباس :Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\MyAppNme

فهل سأجد هذا المفتاح أيضا لدي الاجهزة الخاصة بالعميل بنفس الطريقة، مع العلم ان اصدارات الويندز ربما تختلف من جهاز لآخر فمنها ما يعمل علي ويندوز 7  ومنها ما يعمل علي ويندوز 10  وهكذا

وجزاكم الله خيرا
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ربط البرنامج بتوكين هيئة الزكاة و الدخل السعودية nabil.1710 0 21 منذ 6 ساعة مضت
آخر رد: nabil.1710
  [VB.NET] الكود الجديد لا يعمل بالبرنامج بعد نقل البرنامج الى جهاز اخر فيجوال بيسك 2017 mustafa mohamed 3 144 30-11-21, 07:37 AM
آخر رد: E100
  [سؤال] فحص اذا كان item موجود فى ListView او لا alims 5 162 28-11-21, 10:00 PM
آخر رد: alims
  معرفة الأسماء المكررة في نفس العمود في الداتاقريدفيو جيولوجي مبتدئ 7 285 28-11-21, 05:08 PM
آخر رد: سعود
  معرفة الوقت الاضغر بين وقتين وقت الدخول وقت الخروج- مرفق مثال new_programer 6 239 25-11-21, 04:16 AM
آخر رد: new_programer
  [SQL] مشكلة بطئ سرعة البرنامج المتصل بقاعدة بيانات على النت mmaalmesry 4 259 24-11-21, 12:23 PM
آخر رد: mmaalmesry
  مشكلة عند فتح البرنامج Lathe1 0 116 22-11-21, 12:20 PM
آخر رد: Lathe1
  أريد أعرف كيفية ربط الكريستال ريبورت مع قاعدة بيانات من نوع MySQL alessam4pro 0 172 07-11-21, 06:01 PM
آخر رد: alessam4pro
  تنفيذ امر موجود في فورم اخر atefkhalf2004 10 6,135 19-10-21, 03:28 AM
آخر رد: محمود صالح
  اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox mh66 7 480 12-10-21, 08:49 PM
آخر رد: ابو انس

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم