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

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

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

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

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

textual
Листинг программы
using System.Runtime.InteropServices;
    public partial class Form1 : Form
    {
        Timer tm = new Timer();
       
        public const int SC_CLOSE = 0xF060;
        public const int WM_SYSCOMMAND = 0x0112;
        [DllImport("user32.dll")]
        public static extern int FindWindow(
            string lpClassName, // class name 
            string lpWindowName // window name 
        );
 
        [DllImport("user32.dll")]
        public static extern int SendMessage(
            int hWnd, // handle to destination window 
            uint Msg, // message 
            int wParam, // first message parameter 
            int lParam // second message parameter 
        ); 
        public Form1()
        {
            InitializeComponent();
            this.tm.Tick += new System.EventHandler(this.tm_Tick);
        }
       
        
        private void button1_Click(object sender, EventArgs e)
        {
            tm.Interval = 15000;// 15 секунд
            tm.Enabled = true;
             MessageBox.Show(@"Привет", "Любой Заголовок", MessageBoxButtons.OK, MessageBoxIcon.Information);
 
            
        }
 
        private void tm_Tick(object sender, EventArgs e)
        {
            tm.Enabled = false;
            // Determine the handle to the Application window. 
            int iHandle = FindWindow(null, "Любой Заголовок");
 
            // Post a message to Application to end its existence. 
            SendMessage(iHandle, WM_SYSCOMMAND,
                SC_CLOSE, 0);
 
           
        }

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


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

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

13   голосов , оценка 4 из 5
Похожие ответы