Завершение 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);
}