الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف امسح البرنامج بعد تنفيذه ؟؟

بدأه matrixyb في 21 أغسطس 2009 · 6 رد · 1,760 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

اولا كل عام و انتم بخير ،، رمضان كريم ،، و ينعاد علينا و عليكم بالخير و البركة

لدي مشروع و هو انشاء ملف نصي على سطح المكتب و كتابة بعض الاسطر فيه

بعد ما تتم هذه العملية لا يكون للبرنامج اي فائده ،، فيقوم المستخدم بحذفه يدوياً!!

ولكن الكود الذي اريده

اي يقوم البرنامج بحذف نفسه الياً بعد تنفيذ العملية المطلوب !!

و اتوقع هذه الشي شبه مستحيل انه يحذف البرنامج نفسه !! لانه لا يزال مفتوح!!

هل هناك طريقة لذلك ؟؟

انا لدي فكره ولكن لا اعرف كيف اكتب الكود الخاص بها ،، و هي كالتالي

بعد ما يتم تنفيذ العملية

يتم إرسال امر للدوس (DOS) بحذف مسار البرنامج

هل هنالك من يشاركني في المساعدة و انهاء هذا المشروع

و جزاكم الله الف خير مقدماً!!

تم تعديل هذه المشاركة بواسطة matrixyb في 21 أغسطس 2009 في 15:54

Matrixyb3D.jpg

في يوم من الايام قال Matrixyb

" فكر في طريقة حماية لبرامجك و فكر اذا انت واجهتها كيف ممكن تكسرها اذا لقيت طريقة لكسرها دور طريقة حماية اخرى "

#2

تم كتابة الكود

و شكراً لكم من دخل الموضوع و فكر انه يساعدني ولكنه ما قدر ،، لكن يكفي انه فكر فيها

و شكراً لكم :)

رمضان كريم ^^

Matrixyb3D.jpg

في يوم من الايام قال Matrixyb

" فكر في طريقة حماية لبرامجك و فكر اذا انت واجهتها كيف ممكن تكسرها اذا لقيت طريقة لكسرها دور طريقة حماية اخرى "

#3

جرب أن تنشئ ملف .bat عليه أمر حذف الملف التنفيذي ثم قم بزيادة الملف ذاخل الرجيستري في autorun و سيقوم النظام بتشغيل ملف أوامر الدوس عند إعادة التشغيل و الذي سيقوم بمحو الملف التنفيذي.

تحياتي...

آه, لقد توصلت إلى الحل. لو أمكن أن تشاركه معنا, نكون لك من الشاكرين.

تحياتي...

#4

عندي اقتراح ..

جرب على جملة if انه اذا تحقق الغاية المقصودة من البرنامج ان يمسح البرنامج وملفاته عن طريق جملة kill .

و جملة kill مفيدة لانها لا تسأل اليوزر او المستخدم اذا كان متأكد انه يريد الملف ام لا .

* ولكن هذا لا ينفع لانك البرنامج يكون شغالا ، واتوقع انه سيرفض مسحه .

لذا عند تحقيق الشرط المطلوب اجعل البرنامج يغلق تلقائيا واصنع برنامج منفصل عن برنامجك وسمه مثلا البرنامج المؤقًّت ، واجعله يشتغل بعد نهاية البرنامج الرئيسي . وبرمج البرنامج الموقت لمسح الملفات عن طريق kill .

سأحاول ان اصنع لك مثالا فيما بعد .

بالتوفيق .

#5
محمد رضى كتب:
جرب أن تنشئ ملف .bat عليه أمر حذف الملف التنفيذي ثم قم بزيادة الملف ذاخل الرجيستري في autorun و سيقوم النظام بتشغيل ملف أوامر الدوس عند إعادة التشغيل و الذي سيقوم بمحو الملف التنفيذي.

تحياتي...

آه, لقد توصلت إلى الحل. لو أمكن أن تشاركه معنا, نكون لك من الشاكرين.

تحياتي...

الحل كما ذكرت لكم في الموضوع و هي فكرة إرسال الامر للدوس ،، و المشكلة التي كانت لدي كما ذكرت لكم ،، اني لا اعرف كتابت اكواد التعامل مع الدوس

ولكن قريت موضوع في الانترنت و استطعت ان كتابة الكود ولله الحمد

و هذا هوا الكود كما طلبته و للفائده :)

انشى زر و ضع به هذا الكود

Shell "cmd.exe /k del Project1.exe"
End

** تاكد من تسمية البرنامج Project1.exe و يمكنك تغيير اسم البرنامج و بالتالي يلزمك تغيير اسم البرنامج من الكود

اعطني رئيك في الكود !!

و شكراً لكــ،،

AHMAD-AZMI كتب:
عندي اقتراح ..

جرب على جملة if انه اذا تحقق الغاية المقصودة من البرنامج ان يمسح البرنامج وملفاته عن طريق جملة kill .

و جملة kill مفيدة لانها لا تسأل اليوزر او المستخدم اذا كان متأكد انه يريد الملف ام لا .

* ولكن هذا لا ينفع لانك البرنامج يكون شغالا ، واتوقع انه سيرفض مسحه .

لذا عند تحقيق الشرط المطلوب اجعل البرنامج يغلق تلقائيا واصنع برنامج منفصل عن برنامجك وسمه مثلا البرنامج المؤقًّت ، واجعله يشتغل بعد نهاية البرنامج الرئيسي . وبرمج البرنامج الموقت لمسح الملفات عن طريق kill .

سأحاول ان اصنع لك مثالا فيما بعد .

بالتوفيق .

شكراً لك اخي على تفاعلك معي !!

ولكن جملة Kill مستحيل تفي بالغرض كما ذكرت انت جزاك الله خير

لانه لا يمكن لها ان تحذف البرنامج و هو لا يزال شغال !!

و فكرتك ممتازه في بان نصنع برنامج اخر يقوم بمسح البرنامج الاول !!

ولكن انا لا اريد ان ابقي اي اثر لاي برنامج على الاطلاق !!!!!!!! و ثانياً عندما يقوم المستخدم بتغيير اسم الملف لن يتمكن البرنامج الاخر من ايجاده و حذفه

و الطريقة المناسبة التي توصلت لها كما ذكرتها بالاعلى هو كود الدوس

كل عام و انتم بخير

و سعدت جداً بالمناقشة معكم !! اتمنى ان يكونوا جميع الاعضاء مثلكم من نقاشهم و افكار الطرح

و شكراً لكم اخونيــ،،

Matrixyb3D.jpg

في يوم من الايام قال Matrixyb

" فكر في طريقة حماية لبرامجك و فكر اذا انت واجهتها كيف ممكن تكسرها اذا لقيت طريقة لكسرها دور طريقة حماية اخرى "

#6

الطريقة التي اتبعت و ذلك بتشغيل أمر دوس ليحذف البرنامج هي الصحيحة و لكن بالنسبة لبرنامج صغير, حيث في الوقت الذي أرسلت فيه الأمر سيكون البرنامج قد انتهى و لن يمانع نظام التشغيل من ترك الدوس يحذف البرنامج. لكن هذه الطريقة قد لا تنجح مع برنامج من العيار التقيل حيث عند قيام الدوس بعملية الحذف سيكون البرنامج منهمكا في القيام بتسجيل مثلا المستندات و غيرها مما سيأخد وقتا بين اختيار المستخدم اغلاق البرنامج و الإغلاق الحتمي له مما سيؤدي إلى فشل أمر الدوس لأنه لا يمكن حذف ملف تنفيدي و هو قيد الإشتغال. و لهذا فأالكثير من البرامج التجارية تقوم بانشاء ملف أوامر دوس .cmd أو .bat و تشرك الملف في الملفات التي ستشغل أوتوماتيكيا عند إعادة تشغيل الحاسوب حيث سيكون الملف التنفيذي غير مشتغل و بالتالي تمر عملية الحذف بدون مشاكل.

تحياتي...

#7

صحيح كلامك اخوي العزيز

ولكن بامكاننا ان نجعل امر الدوس اخر شي يتم تنفيذه بعد ان تتم عمليات حفظ السجلات و كل شي!!

و بامكاننا وضع الامر مع امر الاغلاق في تايمر بعد دقيقتين

بمعنى انه عندما نضغط على زر الخروج يتم حفظ السجلات و كل شي و يتم تفعيل التايمر + me.hide

و بعد دقيقتين التايمر رح يرسل الامر للدوس و ينهي البرنامج (End) !!!!

هذا حل من الحلول ايضاً ،، ولكن الاضمن هوا الي انتا قلته على شان تكون اضمن انه تم الانتهاء فعلا من جميع العمليات !!

و لكن انا كنت ابغا شي خفيف و غير معقد !!

و شكراً لكـــ،، اخي العزيز على التفاعل مع الموضوع :) :)

لك مني كل الاحترام

Matrixyb3D.jpg

في يوم من الايام قال Matrixyb

" فكر في طريقة حماية لبرامجك و فكر اذا انت واجهتها كيف ممكن تكسرها اذا لقيت طريقة لكسرها دور طريقة حماية اخرى "

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…