PDA

View Full Version : حرفه ای: Maximize شدن خودکار برنامه با اجرای مجدد آن



محسن واژدی
جمعه 08 بهمن 1389, 07:30 صبح
سلام،
اگه توجه کرده باشید برنامه هایی مثل ویندوز مدیا پلیر یا kmplayer را نمیتوان بیش از یک نسخه اجرا کرد البته میدونم که داخل وی بی از دستور PrevInstance واسه اینکار استفاده میشه یا با API Mutex
اگه دیده باشین مثلا در برنامه kmplayer اگه این برنامه قبل از این در حال اجرا باشه در صورتیکه مجددا اونو اجرا کنیم نه تنها یک نسخه جدید ازش اجرا نمیشه بلکه اون نسخه ای که در حال اجراست هم سریعا maximize میشه

حالا از دوستان تقاضا داشتم که از چه دستوری واسه اینکار استفاده میشه همون دستوری که اگر یک نسخه دیگه از برنامه اجرا بشه برنامه فعلی که در حال اجراست رو maximize میکنه

البته خودم میدونم که میشه با ابتکاراتی این کار روی انجام داد مثلا اون نسخه تکراری که اجرا شد مقداری رو در ریجستری قرار بدهد و نسخه درحال اجرا با یک تایمر اون داده رو در ریجستری مدام چک کنه و به محض تغییر یافتن برنامه maximize بشه؛ اما تکرار تایمر فضای رم رو افزایش میده و من میخوام از توابع API واسه این کار استفاده کنم چون مسلما kmplayer یا wmplayer از تایمر واسه این کار استفاده نمیکنه

یا علی

xxxxx_xxxxx
جمعه 08 بهمن 1389, 08:11 صبح
سلام،
با تابع FindWindow هندل برنامه تون رو پیدا کنید. و با تابع ShowWindow میتونید اونو Maximize کنید.
نام این توابع رو جستجو کنید. فکر کنم قبلاً پرسیده شده بود.

موفق باشید/

محسن واژدی
جمعه 08 بهمن 1389, 09:20 صبح
با تشکر؛ آیا راه حل دیگری وجود ندارد چون برخی اوقات ممکن است برنامه در systray باشد؟!