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

نسخة كاملة : ايقاف البرامج التي تعمل في TEMP
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
مرحبا
محتاج كود يوقف البرامج الي بالتمب
جربت هذا الكود حتى اسحب الملفات الي بامتداد exe داخل ليست بوكس بس ما اشتغل
كود :
Dim pth = "..............."
Dim drs = Directory.GetDirectories(pth, "*.*", SearchOption.AllDirectories)
For Each d As String In drs
    If Directory.GetFiles(d, "*.txt").Count > 0 Then
        ListBox1.Items.Add(d)
    End If
Next

مرحباً DK-x

اليك الكود الصحيح لاتمام عمل المطلوب

الكود المدرج يحتوى على الشرح [ C:\Users\name\AppData\Local\Temp  ]
كود :
       ' كود جلب جميع الملفات بامتداد exe
       Dim fileEntries As String() = System.IO.Directory.GetFiles(System.IO.Path.GetTempPath(), "*.exe")
       ' كود عرض جميع الملفات التى تم جلبها
       For Each fileName In fileEntries
           ' اضافة اسم الملف الذى تم جلبه
           ListBox1.Items.Add(fileName.Split("\")(6))
           ' كود عرض جميع البرامج التى تعمل على الجهاز
           For Each fileRun As Process In Process.GetProcesses
               ' كود التحقق اذا كان احد البرامج التى تعمل هى نفس البرنامج الذى تم جلبه من المجلد
               If fileRun.ProcessName = fileName.Split("\")(6).Split(".")(0) Then
                   ' عند التحقق يقوم باغلاق البرنامج حتى لا يعمل
                   fileRun.Kill()
               End If
           Next
           ' وبالنهاية بعد انهاء كود اغلاق البرانج يوقم بحذفه
           File.Delete(fileName)
       Next

الكود الثاني يمكنك استخدامه اسفل الكود بالاعلى
وهو يخص مسار [ C:\Windows\Temp ] 
ولكن تذكر حتى يعمل هذا الكود
ستحتاج الى تشغيل البرنامج Run Administrator

الكود هو نفسه الكود بالاعلى ولكن يختلف المسار فقط
كود :
       ' كود جلب جميع الملفات بامتداد exe
       Dim fileEntries2 As String() = System.IO.Directory.GetFiles("C:\Windows\Temp", "*.exe")
       ' كود عرض جميع الملفات التى تم جلبها
       For Each fileName In fileEntries2
           ' اضافة اسم الملف الذى تم جلبه
           ListBox1.Items.Add(fileName.Split("\")(6))
           ' كود عرض جميع البرامج التى تعمل على الجهاز
           For Each fileRun As Process In Process.GetProcesses
               ' كود التحقق اذا كان احد البرامج التى تعمل هى نفس البرنامج الذى تم جلبه من المجلد
               If fileRun.ProcessName = fileName.Split("\")(6).Split(".")(0) Then
                   ' عند التحقق يقوم باغلاق البرنامج حتى لا يعمل
                   fileRun.Kill()
               End If
           Next
           ' وبالنهاية بعد انهاء كود اغلاق البرانج يوقم بحذفه
           File.Delete(fileName)
       Next

تحياتى لك
وتمنياتى لك التوفيق
مشكور استاذ الجوكر
حليت المشكله و رفعت المشروع ع اساس ع المنتدى حتى الناس تستفاد
لكن انت كفيت و وفيت مشكور وتحياتي لك  Heart
وهذا هو المشروع للافاده
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
رغم ان الكود لا يهمنى لكن دخلت لآقول لك كلمة أخى " الجوكر "....
مادام منتدى فيجوال بيسك لكل العرب فيه امثالك  فإنه ليس بعالم عادي بل حديقه بها كل ما لذ وطاب " حقيقة "
الحمد لله والشكر لله
والحمد لله على كل حال

هذه شهادة اعتز بها اخى ابو روضة
فكل عام وانت دائماً والاسرة بخير

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