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

نسخة كاملة : اريد كود جعل الفورم يحذف نفسة بعد الاغلاق
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
السلام عليكم

انا اريد كود اذا قفلت الفورم يحذف نفسة
ازاي يعني يحذف نفسه؟ عن اي وضع تتحدث وضع التنفيذ ام وضع التصميم
هل يعقل بعد عمل build لمشروعك تقوم بحذف قطعه من اكواده اثناء التشغيل
استمع اخى الكريم انا اريد حذف البرنامج

يعنى ازاى

سوف اضع فى حدث formcloses
الكود
اى يعنى
ان اذا تم اغلاق البرنامج يقوم بحذف نفسة ؟؟
اذكر ناقشوا الموضوع بالمنتدى القديم وذكروا استخدام ملف دفعي بامتداد bat
ولاكن كيف استخدام ملف دفعي بامتداد bat

لقد بحثت فى المنتدى القديم ولم اجد الاموضوع وللاسف الكود كان بالغة visaul Basic 6
ما دمت تقصد هذا إليك المثال
السلام عليكم ورحمة الله وبركاته

أخي الحبيب

أحب أن أوضح أنه لا يمكن للبرنامج حذف نفسه .. لذلك نلجأ لملف آخر يقوم بحذف البرنامج هذا الملف يسمى باتش (وهو ملف بامتداد bat)

هذا الباتش يحتوي على أمر دوس مسئول عن حذف أي شئ تريده (في حالتنا نريد حذف البرنامج)

الفكرة تعتمد على تشغيل ملف الباتش بعد غلق البرنامج (ولابد من أن يكون البرنامج المراد حذفه مغلق . لان الباتش لا يحذف البرنامج طالما أنه يعمل)

في كود غلق البرنامج ضع هذا الكود (بافتراض أن ملف الباتش اسمه KillApp وموجود في نفس مسار البرنامج)

كود :
Process.Start(Application.StartupPath & "/KillApp.bat")

والسؤال الآن كيف ننشأ ملف الباتش ؟ وما هو الكود الموجود بداخله ؟

ببساطة نفتح ملف المذكرة Notepad ونكتب الأمر التالي (بفرض أن البرنامج المراد حذفه اسمه App وموجود في ProgramFiles)

كود :
@ECHO OFF
:TRYAGAIN
ECHO Y | DEL %ProgramFiles%\App.exe
RD %ProgramFiles%\App.exe
CLS
IF EXIST %ProgramFiles%\App.exe GOTO TRYAGAIN
CLS
DEL %0

ثم نغلق ملف المذكرة ونسميه KillApp.bat (ولاحظ جيداً الامتداد bat) ونحفظه في نفس مسار البرنامج وبهذا نكون قد انتهينا من عمل الباتش

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

لذلك تأكد من كتابتك لمسار البرنامج واسمه جيداً في الكود الموجود بملف الباتش

أتمنى أن أكون قد شرحت الموضوع بصورة جيدة

والسلام عليكم ورحمة الله وبركاته
اخي الكريم حسام وفقك الله .. اليس الافضل وضع الباتش في مجلد temp لكونه يحتوي ملفات مؤقتة لكي يتم حذف الباتش بعد الانتهاء منه؟
رعاك الله تعالى.
بارك الله فيك أخي الفاضل سعود

لقد راعيت هذه النقطة في ملف الباتش

ستلاحظ أن آخر سطر هو del %0

وهو معناه أنه بعد حذف البرنامج يقوم الباتش بحذف نفسه تلقائياً
سعود كتب :اخي الكريم حسام وفقك الله .. اليس الافضل وضع الباتش في مجلد temp لكونه يحتوي ملفات مؤقتة لكي يتم حذف الباتش بعد الانتهاء منه؟
رعاك الله تعالى.
المثال المرفق الملف مدمج ضمن resources ويتم استخراجه فقط عند غلق البرنامج وبالتالى إضافة السطر الأخير
PHP كود :
DEL %

أو
DEL 
"%~f0"
سوف يتم حذف الملف بعد الإنتهاء 
وهذا المثال بعد تعديلة ليقوم بحذف البرنامج ثم يحذف نفسه 
الصفحات : 1 2 3