Мне нужно закрыть приложение (C#), когда пользователь его не использует - допустим, когда нет события Click в любой форме программы (существует около 100 форм). Есть ли способ сделать это без обращения к клику даже в каждой форме приложения. (У меня поток работает каждую минуту, где его можно проверить)? Спасибо заранее!Как проверить, используется ли программа?
0
A
ответ
2
Вы можете подключиться к контуру сообщения приложения с помощью функции Application.AddMessageFilter
. Написать сообщение фильтр, который проверяет все сообщения клики мыши и/или сообщения клавиатуры, или что-нибудь вы заинтересованы в
Например:.
public class DetectActivityMessageFilter : IMessageFilter
{
private const int WM_LBUTTONDOWN = 0x0201;
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == WM_LBUTTONDOWN)
{
// The left mouse button was pressed
}
return false;
}
}
@Lucas ответ хорош, но это также может помочь: https: //social.msdn.microsoft.com/Forums/en-US/0c6e496b-44d3-49ee-9ef0-282f079e363b/automatic-application-shutdown –
Что делать, если фоновый процесс запущен? –
@ Eliasz проходят через [это] (http://www.codeproject.com/Articles/30345/Application-Idle) и [это] (http://www.codeproject.com/Articles/13756/Detecting-Application- Безделье) –