نمایش نتایج 1 تا 9 از 9

نام تاپیک: بسته شدن برنامه ...

  1. #1
    کاربر دائمی آواتار Ali_Fallah
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همین نزدیکی ها
    پست
    791

    بسته شدن برنامه ...

    با سلام

    می خوام اگر کاربر با موس و هر کدام از کلیدهای کیبورد در مدت زمان مشخصی (مثال : 10 دقیقه که در یک تکست مشخص می کنیم ) کار نکردبرنامه بسته بشه
    ---
    ممنون میشم اگه کمکم کنید.

  2. #2
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: بسته شدن برنامه ...

    با سلام
    شاید راه ساده ای باشه اما این به فکر من رسید که یک تایمر بسازی و Interval رو برابر 1000 قرار بدی و در هنگام فعال شدن فرم(رویداد Activated) تایمر را فعال کنی و یک متغیر Integer نیز به صورت سراسری در قسمت Public Class Form تعریف کنی و اون رو به طور اولیه برابر 0 قرار بدی. در رویداد Timer_Tick کد زیر رو بنویسی(در این جا اسم متغیر IN1 است :

    IN1 += 1

    حالا با این کار یک ثانیه شمار داریم
    خوب شما میتونید در همین رویداد Tick مربوط به تایمر یک شرط if بذارید که اگر IN1 برابر شد با مثلا 600 که میشه 10 دقیقه یک کار خاصی انجام بشه.
    حالا در رویداد TextChanged مربوط به تکس باکس هم تایمر رو غیر فعال میکنی...
    باز دوباره در TextChanged یه if میذاری که اگر تکس باکس متنش برابر "" بود دوباره تایمر فعال بشه
    این چیزی بود که به ذهن من رسید
    اگه وقت کنم سورسش رو مینویسم

  3. #3

    نقل قول: بسته شدن برنامه ...

    برای اینطور کار ها باید مسیج هایی که به سمت برنامه میاد رو کنترل و فیلتر کنی. هر برنامه یک هندلر داره که یک سری مسیج براش ارسال میشه و شما میتونید این هندلر رو کنتر کنید و اگر تو مدت زمان خاصی فعال نشد و یعنی چیزی به سمتش نیومده و در نتیجه کاری که میخواید رو انجام بده. یکم جستجو کنی در این مورد مطلب توی سایت زیاد هست که میتونه کمکت کنه پیاده سازیش کنی.
    دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان

    هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
    واحد فاصله «متر» نیست، «اشتیاق» است. اگر مشتاقش باشی حتی يک قدم هم فاصله ای دور است.

    رنگ رنگی | آموزش

  4. #4
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: بسته شدن برنامه ...

    نقل قول نوشته شده توسط Mani_rf مشاهده تاپیک
    برای اینطور کار ها باید مسیج هایی که به سمت برنامه میاد رو کنترل و فیلتر کنی. هر برنامه یک هندلر داره که یک سری مسیج براش ارسال میشه و شما میتونید این هندلر رو کنتر کنید و اگر تو مدت زمان خاصی فعال نشد و یعنی چیزی به سمتش نیومده و در نتیجه کاری که میخواید رو انجام بده. یکم جستجو کنی در این مورد مطلب توی سایت زیاد هست که میتونه کمکت کنه پیاده سازیش کنی.
    جناب Mani_rf آدم رو تو تکاپو میندازن
    بابا توروخدا یک راست جواب بده استاد...
    ما قدرت جستجومون ضعیفه

  5. #5

    نقل قول: بسته شدن برنامه ...

    نقل قول نوشته شده توسط sagggad مشاهده تاپیک
    جناب Mani_rf آدم رو تو تکاپو میندازن
    بابا توروخدا یک راست جواب بده استاد...
    ما قدرت جستجومون ضعیفه
    یک ضرب المثل چینی میگه به جای اینکه برام ماهی بگیری، ماهیگیری بهم یاد بده.
    اگه من براتون اینجا کد بنویسم شما چیزی یاد نمیگیرید. من این مواردی رو که راهنمایی میکنم رو یا یاد دارم و یا قبلا (مثل همین مورد ) انجام دادم و برای من کاربردی نداره که دوباره برم کد بنویسم البته وقتش رو هم ندارم. نوشت کد آماده و تحویل دادن به شما هم برای شما بار علمی نداره و ظلمه در حق شما، اون چیزهایی که لازمه بدونید رو میگم تا مابقیش رو خودتون پیداکنید. با این روش هم به جواب سوالتون میرسید و هم چندتا چیز جدید و البته کاربردی یاد میگیرید، هم این که متوجه میشید که برای انجام چه کارهایی باید به سراغ این کاری که الان انجام دادید رفت.

    مثلا در این مورد خواص اگر درباره هندلر ها چند دقیقه تحقیق کنید متوجه میشید که به چه دلیل به وجود اومده، و چه استفاده هایی که ازشون نمیشه کرد و بعد تازه ماجرا براتون جذاب تر میشه. هم کارتون رو انجام میدید و هم یک مفهوم جدید یاد میگیرید.
    خب البته این نکته رو میدونم که این روش برای کسایی که برنامه نویس هستن یا قصد برنامه نویس شدن رو دارن جواب میده و جذابه و کسایی که فقط دونبال جواب میگردن تا کارشون پیش بره خیلی ازش استقبال نمی کنن.
    در کل من ترجیح میدم یاد بدم تا انجام بدم.
    اگر اشتباه میکنم من رو ببخشید ولی نظر شخصیه من اینه.
    دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان

    هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
    واحد فاصله «متر» نیست، «اشتیاق» است. اگر مشتاقش باشی حتی يک قدم هم فاصله ای دور است.

    رنگ رنگی | آموزش

  6. #6

    نقل قول: بسته شدن برنامه ...

    راهنمایی بیشتر :

    توی فرمی که میخواید این کار رو بکنید متد WndProc رو Override کنید. این متد این وظیفه رو به عهده داره که تمامی مسیج هایی که به فرم فرستاده میشه رو میگیره و کاری که لازمه رو روش انجام میده . مثلا وقتی که با موس وارد فرم میشید، ویندوز یک مسیج به فرم میفرسته که میگه الان موس وارد شد، فرم هم مثلا رخداد onMouseEnter رو فراخانی میکنه یا هر وظیفه دیگه ای که داشته باشه.
    حالا باید توی این تابع فیلتر کنید که چه میسیج هایی رو میخاید به عنوان عمل روی فرم در نظر بگیرید و چه مسیج هایی رو نمیخاید . طبیعتا یک تایمر البته با ترد ها ایجاد میکنید که تو 1زمان خاصی مثلا هر 2ثانیه فعال میشه و اگه مسیجی که وارد فرم شده با چیزی که شما عمل روی فرم در نظر گرفتید یکی بود تایمر غیر فعال بشه .
    اگر مدت زمان خاصی گذشت و تایمر غیر فعال نشد یعنی کاری روی فرم صورت نگرفته و باید اتفاقایی که میخاید بی افته (مثلا برنامه بسته بشه)
    فقط میمونه فیلتر کردن پیغام ها که هر عملی برای خودش یک کد داره که با یکم جستجو یا وقت گذاشتن میتونید کد کلیک موس و یا فکوس گرفتن فرم و یا زده شدن کلید کیبرد رو پیدا کنید و به عنوان عمل در نظر بگیرید. مثلا تو این لینک مایکروسافت برات توضیح داده که مسیج هایی که از طرف کیبورد به فرم میاد چیا هست و تفسیر تک به تکش چیه. تو این لینک هم همه این چیز ها رو درباره موس گفته.
    به همین راحتی.
    این هم نمونه Override شده تابع :

        Protected Overrides Sub WndProc(ByRef m As Message)
    MyBase.WndProc(m)
    End Sub
    آخرین ویرایش به وسیله Mani_rf : چهارشنبه 25 دی 1392 در 23:23 عصر
    دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان

    هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
    واحد فاصله «متر» نیست، «اشتیاق» است. اگر مشتاقش باشی حتی يک قدم هم فاصله ای دور است.

    رنگ رنگی | آموزش

  7. #7
    محروم شده
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    جنب حرم امام رضا(ع)
    سن
    23
    پست
    1,514

    نقل قول: بسته شدن برنامه ...

    ممنون از توضیحاتتون
    من برای این میگم که تو سایت های فارسی کم تر راجع به این مسائل آوزش هست من هم که انگلیسیم در حدی نیست که بتونم راحت سایت مایکروسافت رو برا خودم ترجمه کنم
    برا همین گفتم شما لطف کنید و آموزش بدید

  8. #8
    کاربر دائمی آواتار Ali_Fallah
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همین نزدیکی ها
    پست
    791

    نقل قول: بسته شدن برنامه ...

    کد زیر جواب سوال بالاست.
    Public Class Form1
    Implements IMessageFilter
    Public Sub New()
    InitializeComponent()
    Application.AddMessageFilter(Me)
    Timer1.Enabled = True
    End Sub
    Public Function PreFilterMessage(ByRef m As Message) As Boolean Implements IMessageFilter.PreFilterMessage

    If (m.Msg >= &H100 And m.Msg <= &H109) Or (m.Msg >= &H200 And m.Msg <= &H20E) Then
    Timer1.Stop()
    Timer1.Start()
    End If
    End Function
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Timer1.Stop()
    Application.Exit()
    End Sub
    End Class

  9. #9
    کاربر دائمی آواتار Ali_Fallah
    تاریخ عضویت
    مهر 1384
    محل زندگی
    همین نزدیکی ها
    پست
    791

    نقل قول: بسته شدن برنامه ...

    بر روی فرم timer اضافه نموده و interval رو مقداردهی کنید ...

تاپیک های مشابه

  1. جلوگیری از بسته شدن برنامه از طریق TaskManeger
    نوشته شده توسط Amir Oveisi در بخش C#‎‎
    پاسخ: 4
    آخرین پست: چهارشنبه 17 آبان 1385, 11:40 صبح
  2. جلوگیری از بسته شدن برنامه
    نوشته شده توسط vb study در بخش VB.NET
    پاسخ: 1
    آخرین پست: چهارشنبه 18 مرداد 1385, 12:35 عصر
  3. جلو گیری از بسته شدن برنامه
    نوشته شده توسط AmirWriter در بخش برنامه نویسی در Delphi
    پاسخ: 14
    آخرین پست: سه شنبه 26 اردیبهشت 1385, 04:13 صبح
  4. دو تا مشکل! بسته شدن برنامه و قفل شدن آن!
    نوشته شده توسط yaas135 در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: دوشنبه 23 آبان 1384, 22:42 عصر
  5. بسته شدن برنامه در هنگام shutdown كردن ويندوز
    نوشته شده توسط tami_1369 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: شنبه 29 مرداد 1384, 23:35 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •