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

نسخة كاملة : حذف الملفات في vb.net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخواني ...
حذف الملفات ... يستطيع الفجول بيسك حذف الملفات ولكن هناك من الملفات لايستطيع حذفها مثل System File وبعض الفيروسات تعمل في بيئة System فهل هذا الكود يفي في الغرض :
كود :
Kill("C:\Virus.exe")

او هذا :

كود :
My.Computer.FileSystem.DeleteFile("c:\virus.exe")

فهناك ملفات في System مثل ملفات Dll لايستطيع الفجول بيسك حذها او التعديل عليها ... فهل هناك طرق لعمل ذلك وشكرا
[/align]
السلام عليكم ورحمة الله
بص هقلك حاجة
الفيجوال لايستطيع ذلك
لاكن هناك حيلة
تغير خاصية System للملف وجعلها ( نورمال عادى او عكسها System X System )
وبعد ذلك احذف الملف عادى

وهذا الكود باذن الله يفى بالغرض

PHP كود :
IO.File.SetAttributes("C:\Virus.exe"Xor 4' جعل الملف غير ادارى
        IO.File.Delete("C:\Virus.exe")  ' 
حذف الملف 
اخي شكرا ... ولكن لم يفي في الغرض ولكن عندي فكرة ... مثلا يوجد في النظام ملف مسارة C:\WINDOWS\system32\advpack.dll
اذا عرفنا العملية Procces الخاصة في الملف advpack.dll ومن ثم قمنا بايقافها وبعدها حذفنا الملف سوف يتم حذفه بدون عودة
ولكن ما هو الكود ؟؟ انا اعرف هذا الكود لكن لا يفي في الغرض :

كود :
Dim path As String = ("C:\WINDOWS\system32\advpack.dll")
        Dim matchingProcesses = New List(Of Process)

        Application.DoEvents()

        For Each process As Process In process.GetProcesses()
            Application.DoEvents()
            For Each m As ProcessModule In process.Modules
                Application.DoEvents()
                If String.Compare(m.FileName, path, StringComparison.InvariantCultureIgnoreCase) = 0 Then
                    matchingProcesses.Add(process)
                    Exit For
                End If
            Next
        Next
        Application.DoEvents()
        For Each pVir As Process In matchingProcesses
            pVir.Kill()
        Next


ولكن المشكلة ان advpack.dll ليس عملية Procces ليقوم بايقافها ... احتاج الى كود يعرف العملية الخاصة ب ملف advpack.dll ومن ثم ايقافها ومن ثم حذف الملف
Big Grin
انتا كده عايز حاجتين
الحاجه الاولى

1 = تريد معرفة البرامج التى تستخدم الملف حاليا لتقوم بايقافها ( مثلا لو انا مشغل ملف صوتى لا استطيع حذفه الا بعد غلق المشغل الصوتى ) تمام هذا مثل برنامج Unlocker انظر الصورة



هذا انا لا اعرفه ؟؟ واريد ان اعرفه باذن الله الاخوة يساعدونا فى ذلك ما راح يقصروا باذن الله

الحاجه الثانية هى الكود الى انا اعطهولك لان الملف حتى لو ازلت الارتباط لن تستطيع حذفه الا اذا عكست خاصية System

الاخوة ما راح يقصرو باذن الله

اسئل الله تعالى لك التوفيق والسداد
شكرا لك اخي ما قصرت ... وارجوا من الاخوان المساعدة
بالنسبة لمعرفة البرامج الحالية التي تعمل Process وايقاف أحدها هذا مثال لذلك
كيف يمكن ايقاف اي برنامج يستخدم ملف ما؟
لابد من وجود كود معين يخبرنا ان الملف الفلاني يستخدمه عملية ما.
كيف الى ذلك؟؟
لانه ان عرفنا الكود فبالتاكيد الامثلة الموجودة الان كفيلة باكمال الباقي.

اظن ولم اجرب ان الكود بالرابط التالي هو المطلوب
http://stackoverflow.com/questions/31707...-using-net
[مشروع] مثال لايقاف اي مشغل لاي ملف لحذف الملف