تقييم الموضوع :
  • 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  وهكذا

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  أريد البحث بإستخدام أي جزء من الكلمة و ليس أول جزء منها . CoderMM 2 35 منذ 1 ساعه مضت
آخر رد: قناص المدينة
  [VB.NET] معرفة الخطا MOHAMMED ALZWI 0 29 أمس, 01:56 PM
آخر رد: MOHAMMED ALZWI
  [VB.NET] معرفة الخطا MOHAMMED ALZWI 2 32 أمس, 01:54 PM
آخر رد: MOHAMMED ALZWI
  استخدام فونت جديد في البرنامج Emam emam 5 87 14-04-24, 01:29 PM
آخر رد: عبد العزيز البسكري
  عدم القدرة على إغلاق البرنامج وظهور رسالة the operation could not be completed صالح عبدالله 2 62 12-04-24, 06:03 AM
آخر رد: صالح عبدالله
  [VB.NET] حفظ الفورم (Form) (البرنامج) بعد التغيير visualist2015 8 6,460 12-04-24, 04:07 AM
آخر رد: أبو جودة
  معرفة رصيدي للهاتف النقال المتصل بالكمبيوتر وارسال رسائل نصية منه AHMED213 1 151 03-04-24, 08:08 AM
آخر رد: sdz
  تغيير المسار الي مسار البرنامج في تقرير ميكروسوفت atefkhalf2004 2 106 02-04-24, 05:05 PM
آخر رد: atefkhalf2004
Exclamation [سؤال] كيف يمكن الغاء السوال عند الكتابة على ملف موجود dell 0 76 19-03-24, 01:23 AM
آخر رد: dell
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 155 12-03-24, 10:37 AM
آخر رد: strongriseman

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


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