PDA

View Full Version : نمایش یک تصویر در زمان خاص



code_project
یک شنبه 02 دی 1397, 11:34 صبح
با سلام و احترام خدمت تمام اساتید
دوستان من میخوام یه برنامه داشته باشم که روی سیستم کاربر اجرا بشه و در یک زمان خاص که براش مشخص کردم یک تصویر را به مدت 1 دقیقه روی دسک تاپ کاربر نمایش بده. مثلا من میخوام در ساعت 8 صبح عکس شماره 1 به مدت یک دقیقه نمایش داده بشه و در ساعت 8 شب عکس شماره2 نمایش داده بشه. ممنون میشم کمکم کنید.

shahryars
یک شنبه 02 دی 1397, 14:24 عصر
سلام
شما باید یک تایمر بسازید
مثلا توی این کد، ساعت 3 یه کاری رو انجام میده

private System.Threading.Timer timer;
private void SetUpTimer(TimeSpan alertTime)
{
DateTime current = DateTime.Now;
TimeSpan timeToGo = alertTime - current.TimeOfDay;
if (timeToGo < TimeSpan.Zero)
{
return;//time already passed
}
this.timer = new System.Threading.Timer(x =>
{
this.whattodo();
}, null, timeToGo, Timeout.InfiniteTimeSpan);
}

private void whattodo()
{
//this runs at 15:00:00
}
برای شروع کردنش همه از این کد استفاده کن:
مثلا توی load برنامه بنویسش:

SetUpTimer(new TimeSpan(15, 00, 00));
برای این که مثلا 1 دقیقه عکس نمایش داده بشه، باید یک کنترل تایمر بسازی و intervalش رو روی 1000 تنظیم کنی.
حالا برای نمایش تصویر توی اون کلاس whattodo کدت رو بنویس.
مصلا:

timer2.start();

توی ایوِنتِ tick تایمر هم باید کد اصلیت رو برای نمایش عکس بنویسی
مثلا برای نمایش full screen ، با قند شکن وارد این لینک شو راهنماییش هست: لینک (https://social.msdn.microsoft.com/Forums/en-US/0ae1b84f-f114-43c1-a560-a1a4588c1eca/picturebox-fullscreen-display?forum=winforms)
برای این که نرم افزار موقع اجرای ویندوز خودکار اجرا شه باید توی فولدر startup به صورت خودکار با کد کپیش کنی.

code_project
دوشنبه 03 دی 1397, 17:26 عصر
ممنون بابت راهنماییتون. من میخوام برنامه م دقیقا سر اون تایم استارت بشه و فرمش باز بشه. اینا نمیدونم باید چکار کنم

code_project
دوشنبه 03 دی 1397, 22:38 عصر
من دقیقا میخوام یه سرویس در بکگراند داشته باشم که سر یه تایم مشخص یه فایل را اجرا کنه. البته میخوام این سرویس توی بکگراند کل سیستمهای شبکه که روشن هستند اجرا بشه

hamid_hr
سه شنبه 04 دی 1397, 09:20 صبح
من دقیقا میخوام یه سرویس در بکگراند داشته باشم که سر یه تایم مشخص یه فایل را اجرا کنه. البته میخوام این سرویس توی بکگراند کل سیستمهای شبکه که روشن هستند اجرا بشه
از Task Scheduler مال خود ویندوز استفاده کنید.

code_project
سه شنبه 04 دی 1397, 10:59 صبح
دوست خوبم نمیخوام از سرویس های خود ویندوز استفاده کنم. این زمان اجرا هر روز در طول سال متفاوته و باید زمان اجرا را از یک جدول توی بانک بخونه

code_project
چهارشنبه 05 دی 1397, 07:42 صبح
آقا توراخدا کمککککککککککککککککککک