PDA

View Full Version : آموزش: باز کردن فایل با برنامه ساخته شده



Nabege
شنبه 24 خرداد 1393, 18:49 عصر
سلام دوستان
چطور میشه کاری کرد که فایل مورد نظر وقتی روش کلیک می کنیم با برنامه ای که با vb6 ساختم باز بشه ؟؟

محمد فدوی
شنبه 24 خرداد 1393, 19:43 عصر
منظورت اینه که مثلا یک فایل txt رو با برنامه خودت باز کنی؟ (یعنی روی فایل راست کلیک کنی > Open With... > برنامه خودت؟)

وقتی شما چند فاید txt (فایل ورد، زیپ و غیره هم همینطورن) رو با notepad باز میکنی، سیستم عامل این دستور رو اجرا میکنه:


notepad C:\Path\To\File1.txt D:\Path\To\File2.txt


بخش اول دستور تعیین کننده نام برنامست و بخش دوم مشخص کننده ی آرگومان های خط فرمان (Command Line Arguments). این آرگومان ها در VB6 توسط دستور Command نگهداری میشن. مثلا اگه توی سابروتین Form_Load این کد رو بنویسی:


MsgBox Command$



در این صورت اگه با برنامت یک فایل txt رو Open With کنی، برنامت نام آدرس اون فایل رو توی MessageBox نشون میده. اگرم دوست داری برنامت بتونه چندین فایل رو باهم باز کنه باید Command رو Split کنی:


Dim strArgs() As String
strArgs = Split(Command$, " ")


حالا مسیر تک تک فایل هایی که قراره بازشون کنی رو توی strArgs داری.
البته این در صورتی که فایل هات حتما تو آدرسشون Space نباشه. اگه باشه آدرس اونها بصورت Qouted (با علامت نقل قول) به برنامه پاس میشه که باید بر این اساس جداسازیشون کنی.

موفق باشی.

Nabege
شنبه 24 خرداد 1393, 21:19 عصر
وقتی تعیین می کنیم فایل با چی باز بشه چطور می تونم کاری کنم که آیکون اون فایل که با این برنامه باز میشه چی باشه ؟

محمد فدوی
یک شنبه 25 خرداد 1393, 02:59 صبح
برای اینکار باید Registry رو ویرایش کنی. این لینک (http://msdn.microsoft.com/en-us/library/windows/desktop/hh127427(v=vs.85).aspx) چگونگی تعیین یه آیکون شخصی برای یه فرمت رو توضیح داده.
برای دسترسی به Registry در VB6 هم این (http://www.codeitbetter.com/category/registry-manipulation-vb6-code/)، این (http://www.codeitbetter.com/save-and-retrieve-registry-settings/) و این (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=28518&lngWId=1) رو ببین. بد نبودن به نظرم.

پیشنهاد میکنم تغییرات دلخواهت رو توی یه فایل reg. بنویسی و اون رو توی سیستم مقصد با برنامت اجرا کنی (مثلا توی ویزارد Install) اینجوری با جزییات کمتری درگیر میشی. برای ساخت یه فایل ریجستری هم اینو (http://support.microsoft.com/kb/310516) ببین.

برای اعمال فایل ریجستری هم از این تیکه کد استفاده کن:

Shell "regedit D:\Path\To\Regfile.reg"

Nabege
یک شنبه 25 خرداد 1393, 06:14 صبح
خوب دقیقا خود رجیستری چی هست چون خیلی باها درگیرم؟
میشه خودتون مراحل موجود در سایت های بالا رو به زبان فارسی توضیح بدین، چون من چیز زیادی نفهمیدم فقط با کلی واژه و اصطلاحات درگیر شدم.

محمد فدوی
یک شنبه 25 خرداد 1393, 14:40 عصر
Registry (http://en.wikipedia.org/wiki/Windows_Registry) یه دیتابیس درختی استاندارد هستش که ویندوز برای نگهداری کلیه تنظیمات و Configurationهاش بطور استاندارد ازش استفاده میکنه. اگه دوست داری Registry ویندوزت رو ببینی و ویرایش کنی، اول کلید ترکیبی Windows + R رو بزن تا پنجره Run باز بشه، حالا دستور regedit رو وارد کن...
اینکه چه نوع فایلی باید چه آیکونی داشته باشه هم توی Registry ذخیره میشه. شما واسه اینکه آیکون شخصیت رو به سیستم عامل معرفی کنی باید طبق اون لینک ها عمل کنی.

لینک هایی که بت دادم خیلی روون هستن. چیشو متوجه نشدی؟

YasserDivaR
جمعه 24 بهمن 1393, 19:37 عصر
منظورش این بود وابستگی فایل
یا این که یه پسوند دلخواه درست کنه برنامه تو تکست باکس نمایش بده

منم همین مشکل و دارم