ايران ويج

نسخه‌ی کامل: استفاده از پارامتر در اجرا برای process
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام به دوستان
من یه سوال دارم ممنون میشم جواب بدین
یه برنامه دارم که جلوی اسم فایلش اگر اسم یه فایلو بدیم اونرو باز میکنه و ویرایش میکنه مثل برنامه notepad
به این صورت یعنی notepad.exe test.dat
در ضمن این برنامه ویرایش کننده من تو پروسس ها مقیمه حالا طوری هم نوشته شده که اکر قبلا باز باشه ابتدا بسته بشه بعد دوباره شروع به بازکردن درخواست
جدید برای ویرایش فایل کنه حالا سوال من اینه که چطور میتونم فایلی رو با همون برنامه ای که نوشتم و تو برنامم قبلا یکبار تو پروسس در حال اجراست بازکنم یهنی برنامم نیاد اول
پروسس قبلی خودش رو ببنده و دوباره برنامه منو اجرا کنه برای ویرایش فایل جدید یعنی جوری باشه که با همون پروسسی که در حال اجراست بتونم فایل جدید رو
باز و ویرایش کنم
یعنی اگر میشد در پروسس اجرایی جوری اونرو اجرا کنم که پارامتر بدم و فراخوانی بشه کارم حله کسی میدونه و راهی داره ؟
ممنون
(۱۱-مهر-۱۳۸۸, ۰۲:۳۰:۳۴)Scorpion نوشته است: [ -> ]با سلام به دوستان
من یه سوال دارم ممنون میشم جواب بدین
یه برنامه دارم که جلوی اسم فایلش اگر اسم یه فایلو بدیم اونرو باز میکنه و ویرایش میکنه مثل برنامه notepad
به این صورت یعنی notepad.exe test.dat
در ضمن این برنامه ویرایش کننده من تو پروسس ها مقیمه حالا طوری هم نوشته شده که اکر قبلا باز باشه ابتدا بسته بشه بعد دوباره شروع به بازکردن درخواست
جدید برای ویرایش فایل کنه حالا سوال من اینه که چطور میتونم فایلی رو با همون برنامه ای که نوشتم و تو برنامم قبلا یکبار تو پروسس در حال اجراست بازکنم یهنی برنامم نیاد اول
پروسس قبلی خودش رو ببنده و دوباره برنامه منو اجرا کنه برای ویرایش فایل جدید یعنی جوری باشه که با همون پروسسی که در حال اجراست بتونم فایل جدید رو
باز و ویرایش کنم
یعنی اگر میشد در پروسس اجرایی جوری اونرو اجرا کنم که پارامتر بدم و فراخوانی بشه کارم حله کسی میدونه و راهی داره ؟
ممنون

برنامه را بجای فرم ، با sub main شروع کن ،
داخل sub main چک کن که همچین برنامه ای باز هست یا نه ،
اگر باز بود ،هندل فرم برنامه را بگیر و با sendmessage یک wm_command بفرست بهش که تو پارامترهاش آدرس فایلت باشه ، حالا عوض اینکه فرم را نمایش بدی ، برنامه را از داخل همون sub main ببند .

توی پروسس اصلی برنامه : wm_command را listen کن ، به محض اینکه رسید ، اطلاعات را از داخلش دربیار و کارایی را که باید انجام بدی ، انجام بده
خوب یه مثال ساده بزارید چون یکمی بحثش گیر دارم توش
شما باید از از وابعی مثل
paramstr و paramcount استفاده کنین
موقع اجرا اون پارامتر توسط explorerبه برنامه شما ارسال میشه و شما موقع اجرا یا create شدن برنامه میتونین اون پارامترها رو بخونین
ببینید این مورد از اونایی که با مثال تفهیم میشه من زیاد گشتم اما نتونستم چیزی پیدا کنم
اگر با مثال توجیه کنید ممنون میشم
خوب مشکل رو خودم حل کردم
ممنون از pashmaloo