(09-10-20, 11:27 PM)ميدو الفنان كتب : اشكرك جدا ولكن لا احب استخدام هذه الطريقة للاسف لان يجب تشغيل البرنامج كمسؤول
الشكر لله دائماً
ومن قال انك بحاجة لتشغل البرنامج كمسؤل
الفكرة لا يعنى تطبيقها كما هى انما كيف اجراء واتمام الامر بكل سهولة
فى البداية هل سالت نفسك يوماً لماذا اغلب البرامج تجد بمجلدها اكثر من برنامج تشغيل فى نفس المجلد الخاص به
مثل برنامج التشغيل الرئيسي والاخر للتحديث والاخر مثل الاعدادات .... الخ الى ان تجد برنامج ازالة تثبيت البرنامج
هل تعلم انك بامكانك عمل 2 مشروع فى نفس السورس ليقوم كل مشروع باستخراج كل برنامج مستقل فى نفس المجلد للبرنامج
ومستخدماً نفس المكاتب اذا كنت تستخدم للاشكال وما شبه
طيب فكرت تنشاء اذا كنت على علم بذلك مشروع اخر بداخل السورس للبرنامج الرئيسي وظيفته
فكرة الشرح الذى قلته لك بالاعلى مع جعل هذا البرنامج يعمل كمسؤل مثلاً لكي تتجنب مشكلة النسخ للطريقة التى لديك
كما ذكرت ان الامر يتطلب كمسؤل مع اضافة ان البرنامج اذا تم تشغيله يقوم بالتحقق اولاً ان البرنامج تم تشغيله
والبرنامج الرئيسي يعمل ام لا واذا لا يتم الاغلاق مباشر او ظهور رسالة لا مكن تشغيل البرنامج ومن ثم الاغلاق
واذا كان تم تشغيل البرنامج والبرنامج الرئيسي الخاص بك يعمل فيتم التحقق بان ملفات الخطوط موجودة فى مجلد النظام للخطوط
واذا لم تتواجد يتم تطبيق نسخ الخطوط وظهور رسالة بتم النسخ واغلاق البرنامج واذا كانت تم نسخها مسبقاً يظهر رسالة لقد تم نسخ الخطوط مسبقاً
الامر يتطلب لتفكير لكيفية اجراء الامر وليس لوجود جود لتطبيقه والسلام كما لو نسخ ولصق وخلاص ما اقوم بشرحه هنا
هو ما كان يفعله المبدع فى شروحاته واعماله elgokr القى نظرة هنا لهذا الموضوع وقد تفهم الفكرة اكبر عن ماذا اتكلم
http://vb4arb.com/vb/showthread.php?tid=25411
وبخصوص تعدد المشاريع فى نفس المشروع الرئيسي القى نظرة للصورة هنا
ستجد المشروع الاول باسم windowsapplication1
وستجد المشروع الثاني باسم windowsapplication2
وعند عمل استخرج للبرنامج عن كل مشروع يتم من خلال Solution نفسه وليس كل مشروع على حدي
امر كود التحقق اذا كان البرنامج يعمل عن تشغيل البرنامج لناسخ الخطوط ستجد مواضيع كثيرة هنا بها هذا الكود
حتى ستجد الكود ايضاً فى الموضوع المذكور بالاعلى خاص المبدع elgokr ولكن الكود ليقوم باغلاق البرنامج ستحول سطر اغلاق البرنامج الذى يتحقق منه
الى مثلاً تعبئة قيمة لمتغير من نوع رقمة قيمته الافتراضية مثلاً 0 وعند تحقق وجود البرنامج انه يعمل يحول القيمة الى 1
واسفل كود التحقق من ان البرنامج يعمل او لا يكون هنا كود if للتحقق ان القيمة التى تم تعريفها بـ 0 اصبح اكبر من 0 يعنى البرنامج يعمل
ومنها عليك بتطبيق ما تريده لما تم شرحه بالاعلى
طيب الطريقة التى بدون مسؤل هو استخدام اكواد مثل
<DllImport("gdi32")>
<DllImport("user32.dll")>
وغيرها التى تقوم بهذه الوظائف والاكواد موجودة فى الرابط خاصة رد الاخ asemshahen5
لكن من الواضح ان القليل جداً من يعلم عن هذه الاكواد وفيما تستخدم