PDA

View Full Version : سوال: اجرای برنامه موقع باز کردن یک فای و نمایش فایل در برنامه



moonDark
پنج شنبه 11 خرداد 1391, 10:26 صبح
با سلام خدمت اساتید محرم
من یه سوال دارم
چه طوری میتونم وقتی یه فایلو باز میکنم اون فایل فقط توسط برنامه ای که من نوشتم اجرا بشه؟
مثلا برنامه نوت پد ویندوز که فایل های با پسوند .txt رو با یه آیکون خاص نشون میده و وقتی یه فایل txt رو باز میکنی اون فایل بدون Open with با نوت پد اجرا بشه و محتویاتشو تو برنامه نشون بده
اگه میشه خیلی ساده توضیح بدین :لبخند:

koorosh-soft
پنج شنبه 11 خرداد 1391, 13:58 عصر
باید Extension های برنامت رو تو Registry ادد کنی + آدرس برنامه
فکر کنم برای برنامت هم باید Command بزاری

ROSTAM2
پنج شنبه 11 خرداد 1391, 17:57 عصر
از منوي استارت برنامه Run رو اجرا كنيد يا كليدهاي تركيبي Win + R رو فشار دهيد ، در جعبه متني Open با خط خوانا تايپ كنيد regedit و كليد Enter را فشار دهيد
با اين كار برنامه Registry Editor ويندوز اجرا مي شود بر روي My Computer در Registry Editer كليك كرده و كليد F3 و يا كليدهاي تركيبي Ctrl + F از Keyboard را فشار دهيد تا پنجره Find نمايش داده شود ....

در جعبه متن Find تايپ كنيد .txt

مشاهده خواهيد كرد كه مقدار پيشفرض آن برابر با txtfile هستش...

همين مقدار رو دوبار توسط پنجره Find جستجو كنيد ولي اينبار كليدهاي Ctrl + F را فشار داده و تيك آيتم هاي Data و Values را برداشته و Keys را بگذاريد بماند
به آيتم هاي زير مجموعه آن دقت كنيد:
آيتم يا SubKey با نام DefaultIcon مقدار آيكون پيشفرض فايل را تعيين مي كند
كليد زير مجموعه مهم كليد Shell و كليدهاي زير مجموعه آن است كه از طريق آنها به برنامه مورد نظر پارامتري با آدرس فايل اجرا شده و پارامترهاي كاربردي ارسال مي شوند
بالفرض مثال براي باز شدن فايل با برنامه مد نظر در كليد Open و كليد زيرمجموعه آن Command نوشته شده %SystemRoot%\system32\NOTEPAD.EXE %1

كه %1 پارامتري است كه آدرس فايل اجرا شده توسط كاربر را برمي گرداند ولي اين پارامتر نام كوتاه آدرس را بر مي گرداند، براي رفع اين مشكل از پارامتر L% استفاده كنيد

شما هم مي توانيد مانند قالب .txt قالبي براي فايلتان درست كرده سپس نوع قالب را مانند txtfile تعريف كنيد و براي آن كليد Shell\Open\Command ساخته و ابتدا آدرس برنامه خودتان و پس از آن با يك Space پارامتر L% نوشته و بعداز آن هم اگر نياز بود مي توانيد از پارامترهاي برنامه خود طبق تعريفتان استفاده كنيد

نكته مهم اينجاست كه شما در پروژه خود نياز داريد كه از تابع Command براي برگردانده شدن پارامترهاي مذكور استفاده كنيد
بالفرض مثال: Me.Text = Command
و بايد توجه داشته باشيد كه اين دستور را در رويداد Load بكار بگيريد ولي براي بازده بهتر از ابزار Application Events و رويداد Startup از پروژه را استفاده كنيد