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

نام تاپیک: لاگین مجدد در صورت کار نکردن کاربر با برنامه

  1. #1

    لاگین مجدد در صورت کار نکردن کاربر با برنامه

    سلام دوستان
    من یه برنامه ویندوزی دارم. میخوام کاری کنم که اگه کاربر لاگین کرد و به مدت 5 دقیقه از زمان لاگینش گذشت و در برنامه کاری انجام نداد، برنامه بسته بشه و نیاز به لاگین مجدد باشه. ممنون میشم کمکم کنید.

  2. #2
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    745

    نقل قول: انقضای برنامه

    تست کنید
        private void Form3_Load(object sender, EventArgs e)        {
    minute = DateTime.Now.Minute;
    total =minute +5;
    timer1.Enabled = true;


    }


    private int minute;
    private int total;


    private void timer1_Tick(object sender, EventArgs e)
    {
    minute = DateTime.Now.Minute;

    if (minute ==(total) )
    {
    timer1.Enabled = false;

    MessageBox.Show("ّFail");
    //یا
    Application.ExitThread();
    //یا
    //دستورات مورد نظر شما

    }
    }

  3. #3

    نقل قول: انقضای برنامه

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

  4. #4
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    745

    نقل قول: انقضای برنامه

    دوست عزیز تست کنید
       private int minute;        private int total;


    private void timer1_Tick(object sender, EventArgs e)
    {
    minute = DateTime.Now.Minute;

    if (minute == total & MousePosition.X == px & MousePosition.Y == py&cValue ==cTotal )
    {

    timer1.Enabled = false;
    Application.ExitThread();






    }
    else if (MousePosition.X != px & MousePosition.Y != py)
    {
    timer1.Enabled = false;

    }
    }





    private void Form3_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (e.KeyChar == ' ')
    {
    cValue = '0';
    }else
    cValue= e.KeyChar;

    }


    private int px;
    private int py;
    private char cValue;
    private char cTotal;






    private void Form3_MouseMove(object sender, MouseEventArgs e)
    {
    if (minute >= total)
    timer1.Enabled = false;
    Application.ExitThread();
    }


    private void btnLogin_Click(object sender, EventArgs e)
    {
    //کدهای مربوط به لوگین نوشته شود اگر لوگین شود کدهای زیر اجرا شوند در غیر این صورت کدهای مربوط به شما اجرا شوند
    px = MousePosition.X;
    py = MousePosition.Y;
    cTotal = cValue;
    minute = DateTime.Now.Minute;
    total = minute +5;
    timer1.Enabled = true;
    }

  5. #5

    نقل قول: لاگین مجدد در صورت کار نکردن کاربر با برنامه


  6. #6

    نقل قول: لاگین مجدد در صورت کار نکردن کاربر با برنامه

    با این کد می تونی زمان اخرین ورودی (input) کاربر رو تعیین کنی، یعنی چند ثانیه از اخرین کلیک، حرکت موس یا دکمه صفحه کلید گذشته
    بعد توی تایمر چک کن، اگر بیشتر از 5 دقیقه (یعنی 300 ثانیه) بود، خودت می دونی چیکار کنی

    [DllImport("user32.dll")]
    static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);


    [StructLayout(LayoutKind.Sequential)]
    struct LASTINPUTINFO
    {
    public uint cbSize;
    public int dwTime;
    }
    /// <summary>
    /// Idle Time in seconds
    /// </summary>
    /// <returns></returns>
    internal static double GetIdleTime()
    {
    var lii = new LASTINPUTINFO() { cbSize = (uint)Marshal.SizeOf(typeof(LASTINPUTINFO)) };
    GetLastInputInfo(ref lii);
    var res2 = (Environment.TickCount - lii.dwTime) / 1000.0;
    return res2;
    }


    این رو هم یادت نره

    using System;
    using System.Runtime.InteropServices;

  7. #7
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    745

    نقل قول: لاگین مجدد در صورت کار نکردن کاربر با برنامه

    با تشکر از کاربر mrbm_2007

         [DllImport("user32.dll")]        private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);

    [StructLayout(LayoutKind.Sequential)]
    struct LASTINPUTINFO
    {
    public uint cbSize;
    public readonly int dwTime;
    }

    internal static double GetIdleTime()
    {
    var lii = new LASTINPUTINFO() { cbSize = (uint)Marshal.SizeOf(typeof(LASTINPUTINFO)) };
    GetLastInputInfo(ref lii);
    var res2 = (Environment.TickCount - lii.dwTime) / 1000.0;
    return res2;
    }
    private void timer1_Tick(object sender, EventArgs e)
    {
    var d = GetIdleTime();
    Text =d.ToString(CultureInfo.InvariantCulture);
    if (!(d >= 60)) return;
    timer1.Enabled = false;
    Application.ExitThread();
    }

    private void btnLogin_Click(object sender, EventArgs e)
    {
    //کدهای مربوط به لوگین نوشته شود اگر لوگین شود کدهای زیر اجرا شوند در غیر این صورت کدهای مربوط به شما اجرا شوند

    timer1.Enabled = true;
    }

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

  1. پاسخ: 2
    آخرین پست: پنج شنبه 04 شهریور 1395, 00:27 صبح
  2. پاسخ: 0
    آخرین پست: جمعه 18 اردیبهشت 1394, 13:36 عصر
  3. پاسخ: 1
    آخرین پست: پنج شنبه 04 دی 1393, 02:43 صبح
  4. پاسخ: 5
    آخرین پست: چهارشنبه 06 دی 1391, 20:17 عصر
  5. سوال: روش بازیابی فایل ویدیویی به صورت فریم به فریم به چه صورتی است؟
    نوشته شده توسط Sahari_65 در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: دوشنبه 03 فروردین 1388, 18:37 عصر

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

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