Завершение Messagebox через определенное время - C#

Узнай цену своей работы

Формулировка задачи:

Подскакжите, пожалуйста, как можно реализовать таую вещь - например, находится файл в директории, каждую минуту папка сканируется, при обнаружении нужного файла выскакивает сообщение. Если нажать ОК - файл копируется в заданную в программе директорию, а если ОК не нажали, то через 15 минут это сообщение пропадает и файл все также копируется в заданную директорию. В основном, все нужные для программы функции знаю, не знаю только как сделать чтобы после прохождения 15 минут сообщение убиралось и файл копировался.

Решение задачи: «Завершение Messagebox через определенное время»

textual
Листинг программы
  1. using System.Runtime.InteropServices;
  2.     public partial class Form1 : Form
  3.     {
  4.         Timer tm = new Timer();
  5.        
  6.         public const int SC_CLOSE = 0xF060;
  7.         public const int WM_SYSCOMMAND = 0x0112;
  8.         [DllImport("user32.dll")]
  9.         public static extern int FindWindow(
  10.             string lpClassName, // class name
  11.             string lpWindowName // window name
  12.         );
  13.  
  14.         [DllImport("user32.dll")]
  15.         public static extern int SendMessage(
  16.             int hWnd, // handle to destination window
  17.             uint Msg, // message
  18.             int wParam, // first message parameter
  19.             int lParam // second message parameter
  20.         );
  21.         public Form1()
  22.         {
  23.             InitializeComponent();
  24.             this.tm.Tick += new System.EventHandler(this.tm_Tick);
  25.         }
  26.        
  27.        
  28.         private void button1_Click(object sender, EventArgs e)
  29.         {
  30.             tm.Interval = 15000;// 15 секунд
  31.             tm.Enabled = true;
  32.              MessageBox.Show(@"Привет", "Любой Заголовок", MessageBoxButtons.OK, MessageBoxIcon.Information);
  33.  
  34.            
  35.         }
  36.  
  37.         private void tm_Tick(object sender, EventArgs e)
  38.         {
  39.             tm.Enabled = false;
  40.             // Determine the handle to the Application window.
  41.             int iHandle = FindWindow(null, "Любой Заголовок");
  42.  
  43.             // Post a message to Application to end its existence.
  44.             SendMessage(iHandle, WM_SYSCOMMAND,
  45.                 SC_CLOSE, 0);
  46.  
  47.            
  48.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы