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

resources

مغلق
بدأه AhmedElbaz في 12 مارس 2005 · 2 رد · 598 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

resources

الملحقات

عند استخدام ملفات في البرنامج مثل backgroundimage أو أي ملف اخر

نعطي للبرنامج مسار الملف علي القرص الصلب علي جهازك

عند تشغيل البرنامج علي جهاز أخر فانه لا يجده علي نفس المسار ولذلك نضع الملف

مع مسار ملف التشغيل exe.ولتشغيل هذا الملف نستخدم الكائن process

يوجد بالمرفقات برنامج باسم process

ولكن يوجد حل اخر و أفضل

اضافة الملف في الresources أي مع الملف التنفيذي ولعمل ذلك قم بالتالي

قم بعمل right-click علي اسم البرنامج في solution explorer

في design-time ثم اختار add ثم add existing item

ثم اختار مسار الملف المطلوب وتصل الي الملف بعد ذلك عن طريق resources

و لا تنسى بعد اضافة الملف في solution explorer بعمل right-click عليه ثم properties

ثم تغير Build Action الي embedded resources

سوف ألحق مع المرفقات ملف باسم resources لكيفية اضافة backgroundimage مع البرنامج

والوصول اليها داخل الكود

والموضوع فيه أكتر من كده

ولكن السؤال عندما يكون الملف exe و موجود في الresources كيف أستطيع الوصول اليه عن

طريق الكائن process أرجوا الرد وشكرًا

______.rar

#2

بما ان الـ ()Process.Start تأخذ Parameter نصي String و طريقة تحميل الـ embedded resources تأخذ أيضاً Parameter نصي String فالموضوع أعتقد منطقياً هكذا:

System.Reflection.Assembly assem = System.Reflection.Assembly.GetExecutingAssembly();
System.IO.Stream str  = assem.GetManifestResourceStream("namespace.file.exe");
System.Diagnostics.Process pro  = new System.Diagnostics.Process();
pro.Start(str);

لم أجرب هذا الكود، و لكني أعتقد انه سيعمل بإذن الله..

رأس الحكمة الإيمان بالله

#3
System.Reflection.Assembly assem = System.Reflection.Assembly.GetExecutingAssembly();
 	 System.IO.Stream str  = assem.GetManifestResourceStream("namespace.file.exe");
 	 System.IO.BinaryReader Reader=new System.IO.BinaryReader(str);
 	 byte[]bits=Reader.ReadBytes((int)str.Length);
 	 Reader.Close();
 	 str=new System.IO.FileStream("temp.exe",System.IO.FileMode.Create);
 	 System.IO.BinaryWriter Writer=new System.IO.BinaryWriter(str);
 	 Writer.Write(bits);
 	 Writer.Close();
 	 str.Close();
 	 System.Diagnostics.Process pro  = new System.Diagnostics.Process();
 	 pro.StartInfo=new System.Diagnostics.ProcessStartInfo("temp.exe");
 	 pro.Start();

ahabdeen.jpg

<marquee>

مش موجود بصفة دايمة للامتحانات

</marquee>

هذا الموضوع مغلق.

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