اجرای تایمر بعد از خروج از نرم افزار در سی شارپ
درود بر اعضای محترم انجمن.
من یه سوال داشتم. من تو فرمم تو سی شارپ یه تایمر قرار دادم که وقتی یه دکمه کلیک میشه اون تایمر استارت میشه میخوام وقتی یکی نرم افزارو بست اون تایمر غیر فعال نشه و به کارش ادامه بده مثل بازی Clash of Clans که مثلا وقتی یه چیزی رو ارتقا میدی حتی اگه موبایلت رو خاموش هم بکنی اون زمانه از بین نمیره. ناگفته نمونه که نرم افزار برای ویندوزه
نقل قول: اجرای تایمر بعد از خروج از نرم افزار در سی شارپ
نقل قول:
نوشته شده توسط
Mohammad.J.Fathi
درود بر اعضای محترم انجمن.
من یه سوال داشتم. من تو فرمم تو سی شارپ یه تایمر قرار دادم که وقتی یه دکمه کلیک میشه اون تایمر استارت میشه میخوام وقتی یکی نرم افزارو بست اون تایمر غیر فعال نشه و به کارش ادامه بده مثل بازی Clash of Clans که مثلا وقتی یه چیزی رو ارتقا میدی حتی اگه موبایلت رو خاموش هم بکنی اون زمانه از بین نمیره. ناگفته نمونه که نرم افزار برای ویندوزه
اگر تایمر را درنخ پروسس نرم افزاری که می فرمایید close می کنید باشه که دیگه امکان دسترسی به اون را ندارید که بخواد فعال بمونه صد در صد از بین خواهد رفت.
راه حلش این هست که شما باید یک سرویس ویا یک پروسس دیگه داشته باشید که در پس زمینه در حافظه تایمر را فعال کنه و کنترل همه پروسس هاتون را بر عهده بگیره و به راحتی می تونید هر کدوم از پروسس ها را که خواستی ببندی در هر حالی که تایمر و پروسس اصلی در حال کار هستند و البته اگر سرویس باشه بعد از ریست ویندوز هم قابل اجرای مجدد خواهد بود.
در اندروید هم دقیقا همینطور هست برنامه clash سرویس هایی داره تو نخ های مختلف که حتی پس از ریست گوشی هم با اجرای اندروید تمامی سرویس هاش مجددا اجرا میشن.
حالا اگر بخواهید تو ویندوز از یک پروسس که حتی به صورت سرویس هم نوشتید به پروسس هایی دسترسی پیدا کنید که نقطه اجراشون از پروسس سرویس شما نیستند باید از تکنیک های ریموت متد استفاده کنید که قبلا هم یک نمونه تو همین تالار گذاشته بودم.
به یک نکته توجه داشته باشید انجام دادن این کار خیلی هم راحت نیست به این علت که ویروس کش ها ویا فایروال ویندوز ویا برنامه های detect intrusion software و... برنامه شما را به عنوان یک برنامه مخرب شناسایی میکنند پس بنابراین به این نکته توجه داشته باشید که در زمان اجرا به خطاهای منطقی برخورد کردید از دلایل ایجاد خطاها میتونه همین قضیه ای که عرض کردم باشه.
نقل قول: اجرای تایمر بعد از خروج از نرم افزار در سی شارپ
نقل قول:
نوشته شده توسط
Mohammad.J.Fathi
درود بر اعضای محترم انجمن.
من یه سوال داشتم. من تو فرمم تو سی شارپ یه تایمر قرار دادم که وقتی یه دکمه کلیک میشه اون تایمر استارت میشه میخوام وقتی یکی نرم افزارو بست اون تایمر غیر فعال نشه و به کارش ادامه بده مثل بازی Clash of Clans که مثلا وقتی یه چیزی رو ارتقا میدی حتی اگه موبایلت رو خاموش هم بکنی اون زمانه از بین نمیره. ناگفته نمونه که نرم افزار برای ویندوزه
شما هیچ نیازی به تایمر نداری، فرض کن توی بازی یک ساختمون رو ارتقا میدی شما باید زمان دقیق شروع عملیات ارتقا رو یه جا ذخیره کنی، وقتی کاربر از برنامه خارج شد و مثلا بعد از یه ساعت دوباره وارد برنامه شد شما زمان حال رو منهای زمان شروع ارتقا میکنی اگه زمان لازم تموم شده بود، همون لحظه لِوِل (level) یا سطح ساختمون رو یه واحد اضافه میکنی و میگی ساختمون ارتقا پیدا کرده، اگر هنوز زمان برای ارتقا به سر نیومده بود حاصل تفریق زمان حال و زمان شروع ارتقا رو به عنوان زمان باقیمانده به کاربر نمایش میدی.
برای باقی کارها هم به همین شکل
نقل قول: اجرای تایمر بعد از خروج از نرم افزار در سی شارپ
ممنون از کمکتون اگه میشه کدش رو هم بنویسید
نقل قول: اجرای تایمر بعد از خروج از نرم افزار در سی شارپ
کار با کلاس DateTime هست چیز سختی نیست شما شروع کنین و کارایی که گفتم رو مرحله به مرحله پیش برین، هرجا مشکل داشتین ما کمکتون میکنیم
1 ضمیمه
نقل قول: اجرای تایمر بعد از خروج از نرم افزار در سی شارپ
اینو نگاه کنید. من از ستینگ استفاده کردم برا ذخیره ساعت. میتونید هر جور که دوس دارید ذخیره کنید.
بعد از اجرای برنامه یه بار کلید استارت رو بزنید برنامه بسته میشه دفعه بعد که باز کردید مدت زمان از اخرین فعالیت رو بهتون میده.ضمیمه 149052