Files
GeekDesk/App.xaml.cs

60 lines
1.8 KiB
C#
Raw Normal View History

2021-07-21 11:15:51 +08:00
using GeekDesk.Constant;
2021-12-22 13:14:54 +08:00
using GeekDesk.Util;
2021-07-21 11:15:51 +08:00
using Microsoft.Win32;
2021-07-20 17:30:12 +08:00
using System;
using System.IO;
2021-12-22 13:14:54 +08:00
using System.Text;
2021-07-20 17:30:12 +08:00
using System.Windows;
2021-07-28 13:39:48 +08:00
using System.Windows.Media.Animation;
2021-07-20 17:30:12 +08:00
using System.Windows.Threading;
2021-04-12 13:46:05 +08:00
namespace GeekDesk
{
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application
{
2021-07-20 21:12:18 +08:00
2021-07-20 17:30:12 +08:00
System.Threading.Mutex mutex;
2021-07-20 21:12:18 +08:00
public App()
{
this.Startup += new StartupEventHandler(App_Startup);
2022-01-05 17:11:24 +08:00
Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
2021-07-20 21:12:18 +08:00
}
2021-07-20 17:30:12 +08:00
private void App_Startup(object sender, StartupEventArgs e)
{
2021-07-20 21:12:18 +08:00
mutex = new System.Threading.Mutex(true, Constants.MY_NAME, out bool ret);
2021-07-20 17:30:12 +08:00
if (!ret)
{
System.Threading.Thread.Sleep(2000);
mutex = new System.Threading.Mutex(true, Constants.MY_NAME, out ret);
if (!ret)
{
Environment.Exit(0);
}
2021-07-20 17:30:12 +08:00
}
}
2021-12-22 13:14:54 +08:00
void Current_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
e.Handled = true;//使用这一行代码告诉运行时该异常被处理了不再作为UnhandledException抛出了。
LogUtil.WriteErrorLog(e, "未捕获异常!");
2022-01-05 17:11:24 +08:00
MessageBox.Show("GeekDesk遇到一个问题, 不用担心, 这不影响其它操作!");
2021-12-22 13:14:54 +08:00
}
2021-07-20 17:30:12 +08:00
2021-12-22 13:14:54 +08:00
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
LogUtil.WriteErrorLog(e, "严重异常!");
MessageBox.Show("GeekDesk遇到未知问题崩溃!");
}
2021-07-20 17:30:12 +08:00
2021-12-22 13:14:54 +08:00
}
2021-04-12 13:46:05 +08:00
}