사용자가 일정 기간 동안 응용 프로그램을 사용하지 않으면 응용 프로그램을 종료해야합니다. 내가 사용하는 방법은 이제 하나의 창에서 훌륭하게 작동하지만 나는 글로벌하게 만들 수 없습니다. 자동 종료 WPF 응용 프로그램
DispatcherTimer dt;
public Window3()
{
InitializeComponent();
//initialize the timer
dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromSeconds(1);
dt.Start();
dt.Tick += new EventHandler(dt_Tick);
}
long ticks = 0;
void dt_Tick(object sender, EventArgs e)
{
ticks++;
//close the application if 10 seconds passed without an event
if (ticks > 10)
{
Close();
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//Initialize a hook
((HwndSource)PresentationSource.FromVisual(this)).AddHook(myHook);
}
private IntPtr myHook(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
//reset counter
ticks = 0;
switch (msg)
{
// process messages here
default:
return IntPtr.Zero;
}
}
내 질문
은 다음과 같습니다 :은 내가 작성하는 모든 창에 다시 작성하는 대신 글로벌이 일을 할 수 이 내가 지금 그것을 어떻게?
더 좋은 방법은 없나요?
감사합니다.