App.xaml.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using GeekDesk.Constant;
  2. using Microsoft.Win32;
  3. using System;
  4. using System.IO;
  5. using System.Windows;
  6. using System.Windows.Media.Animation;
  7. using System.Windows.Threading;
  8. namespace GeekDesk
  9. {
  10. /// <summary>
  11. /// App.xaml 的交互逻辑
  12. /// </summary>
  13. public partial class App : Application
  14. {
  15. System.Threading.Mutex mutex;
  16. public App()
  17. {
  18. this.Startup += new StartupEventHandler(App_Startup);
  19. }
  20. private void App_Startup(object sender, StartupEventArgs e)
  21. {
  22. mutex = new System.Threading.Mutex(true, Constants.MY_NAME, out bool ret);
  23. if (!ret)
  24. {
  25. System.Threading.Thread.Sleep(2000);
  26. mutex = new System.Threading.Mutex(true, Constants.MY_NAME, out ret);
  27. if (!ret)
  28. {
  29. Environment.Exit(0);
  30. }
  31. }
  32. }
  33. }
  34. // private void WriteLog(object exception)
  35. // {
  36. // Exception ex = exception as Exception;
  37. // using (FileStream fs = File.Open(".//ErrorLog.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite))
  38. // {
  39. // fs.Seek(0, SeekOrigin.End);
  40. // byte[] buffer = Encoding.Default.GetBytes("-------------------------------------------------------\r\n");
  41. // fs.Write(buffer, 0, buffer.Length);
  42. // buffer = Encoding.Default.GetBytes(DateTime.Now.ToString() + "\r\n");
  43. // fs.Write(buffer, 0, buffer.Length);
  44. // if (ex != null)
  45. // {
  46. // buffer = Encoding.Default.GetBytes("成员名: " + ex.TargetSite + "\r\n");
  47. // fs.Write(buffer, 0, buffer.Length);
  48. // buffer = Encoding.Default.GetBytes("引发异常的类: " + ex.TargetSite.DeclaringType + "\r\n");
  49. // fs.Write(buffer, 0, buffer.Length);
  50. // buffer = Encoding.Default.GetBytes("异常信息: " + ex.Message + "\r\n");
  51. // fs.Write(buffer, 0, buffer.Length);
  52. // buffer = Encoding.Default.GetBytes("引发异常的程序集或对象: " + ex.Source + "\r\n");
  53. // fs.Write(buffer, 0, buffer.Length);
  54. // buffer = Encoding.Default.GetBytes("栈:" + ex.StackTrace + "\r\n");
  55. // fs.Write(buffer, 0, buffer.Length);
  56. // }
  57. // else
  58. // {
  59. // buffer = Encoding.Default.GetBytes("应用程序错误: " + exception.ToString() + "\r\n");
  60. // fs.Write(buffer, 0, buffer.Length);
  61. // }
  62. // }
  63. //}
  64. }