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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن جعل البرنامج بلغتين ابو انس 6 146 منذ 1 ساعه مضت
آخر رد: asemshahen5
  عايز كود يقفل البرنامج ده URLSnooper عند فتح البرنامج الخاص بى يقفل البرنامج لو تم تغ masport tv 0 64 20-07-21, 03:38 PM
آخر رد: masport tv
  كود يقفل البرنامج ده URLSnooper عند فتح البرنامج الخاص بى يقفل البرنامج لو تم تغير ا masport tv 3 311 01-07-21, 07:45 PM
آخر رد: ابو انس
  [VB.NET] اصدار صوت عند فتح البرنامج zazasami 1 321 01-07-21, 12:48 PM
آخر رد: asmarsou
  مشكلة في تشغيل البرنامج علاء الكبابي 3 368 08-06-21, 03:42 PM
آخر رد: علاء الكبابي
  مشكلة في استعلام عن سجل موجود والتعديل عليه عبدالكريم برشدان 8 502 01-06-21, 05:19 AM
آخر رد: عبدالكريم برشدان
  طريقة حذف فورم اثناء تشغيل البرنامج Basil Abdallah 3 393 30-05-21, 12:58 AM
آخر رد: mrfenix93
  معرفة أكبر قيمة للتاريخ الموجودة في الداتاقريدفيو جيولوجي مبتدئ 6 464 19-05-21, 10:25 AM
آخر رد: جيولوجي مبتدئ
  [نقاش] لدي اسئلة واستفسارات في البرنامج المحاسبي لو يتفضل احد alfaiz678 17 1,105 28-04-21, 11:58 AM
آخر رد: alfaiz678
  [vb6.0] كود اذا لم يقم بتسجيل الدخول خلال 3 دقائق فانه سيتم الخروج من البرنامج بشكل تلقائي Rasha Hasanain 1 439 18-04-21, 04:31 PM
آخر رد: messry

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


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