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

إستفسار عن تسجيل إمتداد

بدأه أنس العلي في 14 فبراير 2010 · 8 رد · 854 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي إستفسار و هو عن كيفية تسجيل إمتداد خاص ببرنامجي

حيث بمجرد الضغط المزدوج للإمتداد المحدد يتم تشغيل البرنامج و فتح الملف المحدد

طبعا العملية تتم بإستخدام الريجيستري و لكن ما هي التفاصيل؟

وهل يمكن إتمام العملية أثناء التنصيب و بالأخص ببرنامج سيت أب فاكتوري

مع الشكر سلفا

#2

هذه روابط فى قسم الـVB.NET تتحدث عن نفس الموضوع

/index.php?showtopic=201446

/index.php?showtopic=204428

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3

شكرا على الرد السريع و جاري التجربة

#4

بعد تجربة الطريقة الموضحة بالرابط

عند الضغط المزدوج على الملف ذو الإمتداد الذي قمت بتسجيله يتم فتح برنامجي فعلا لكن

يتم فتح البرنامج فارغا اي دون فتح الملف من قبل البرنامج

أي مثلا لنفرض أن الملف ملف إكسل فما يحدث أنه يتم تشغيل الإكسل فارغا و يجب أن أقوم بفتح الملف من إكسل (ملف->فتح)

أرجو المساعدة

شكرا

#5

يجب عليك عند تحميل الفورم التأكد من أول قيمة فى المصفوفة التى تعود بها الوظيفة Environment.CommandLineArg فإذا قام المستخدم بالضغط المزدوج على الملف فإن أول قيمة فى المصفوفة ستحمل مسار الملف بالكامل

جرب وضع هذا الكود فى حدث تحميل الفورم للتأكد

            string[] args = Environment.GetCommandLineArgs();
            foreach (string arg in args)
                MessageBox.Show(arg);

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#6

لقد قمت بوضع الكود السابق و ظهرت رسالتين الأولى مسار البرنامج و الثانية مسار الملف

فماذا يجب أن أفعل الأن؟

#7

إذن, مكان كود إظهار مربع الرسالة, تكتب كود فتح الملف على التطبيق الخاص بك بعد التعرف على مسار الملف المراد فتحه.

بالتوفيق :)

#8

شكرا أخي محمد رضى لقد قمت بذلك ونجح فعلا

لكن لدي إستفسار هل Environment.CommandLineArg سوف تعيد دوما عنصرين الأول مسار البرنامج و الثاني مسار الملف

أم أنها قد تتغير و بالتالي سوف تؤثر على إقلاع البرنامج و هل هناك إمكانية للتحكم بها

شكرا على المساعدة

#9

نعم يمكن أن تتغير... و كمثال, قم بتشغيل التطبيق عن طريق منفذ الأوامر cmd.exe الذي يمكنك من تشغيل برنامج و تمرير ما شئت من برامترات. مثلا إذا فتحت منفذ الأوامر و كتبت الأمر التالي :

myprg.exe param1 param2 param3

عند الضغط على الزر enter سيشتغل برنامجك - افتراضيا myprg.exe - و ستجد الدالة Environment.GetCommandLineArgs() تعيد لك مصفوفة مكونة من :

param1
param2
param3

عموما طريقة عمل نظام التشغيل واحدة لا تتغير و لكن يجب كتابة كود يتطرق لجميع هذه الاحتمالات...

بالتوفيق :)

تم تعديل هذه المشاركة بواسطة محمد رضى في 16 فبراير 2010 في 13:32

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