App.xaml.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using LampInspectionMachine.Core;
  2. using LampInspectionMachine.Log4xml;
  3. using LampInspectionMachine.Model;
  4. using LampInspectionMachine.Views;
  5. using log4net.Config;
  6. using Prism.Ioc;
  7. using Prism.Unity;
  8. using System.ComponentModel;
  9. using System.IO;
  10. using System.Threading;
  11. using System.Windows;
  12. namespace LampInspectionMachine
  13. {
  14. /// <summary>
  15. /// App.xaml 的交互逻辑
  16. /// </summary>
  17. public partial class App : PrismApplication
  18. {
  19. protected override Window CreateShell()
  20. {
  21. //XmlConfigurator.Configure(new FileInfo("Log4xml/log4net.config"));
  22. LogHelper.Info("程序启动");
  23. return Container.Resolve<MainWindow>();
  24. }
  25. protected override void RegisterTypes(IContainerRegistry containerRegistry)
  26. {
  27. containerRegistry.RegisterForNavigation<RoleLoginView>("RoleLoginView");
  28. containerRegistry.RegisterForNavigation<MenuView>("MenuView");
  29. containerRegistry.RegisterForNavigation<ProductView>("ProductView");
  30. containerRegistry.RegisterForNavigation<SettingView>("SettingView");
  31. containerRegistry.RegisterForNavigation<WorkRunView>("WorkRunView");
  32. containerRegistry.RegisterForNavigation<VisionProView>("VisionProView");
  33. containerRegistry.RegisterForNavigation<VisionProView>("VisionProView");
  34. containerRegistry.RegisterSingleton<AppData>();
  35. containerRegistry.RegisterSingleton<Management>();
  36. containerRegistry.RegisterForNavigation<CameraView>("CameraView");
  37. }
  38. private static System.Threading.Mutex mutex;
  39. protected override void OnStartup(StartupEventArgs e)
  40. {
  41. //var view = new LoginView();
  42. //if (!(bool)view.ShowDialog())
  43. //{
  44. // this.Shutdown();
  45. //}
  46. mutex = new System.Threading.Mutex(true, "OnlyRun_CRNS");
  47. if (mutex.WaitOne(0, false))
  48. {
  49. base.OnStartup(e);
  50. }
  51. else
  52. {
  53. MessageBox.Show("程序已经在运行!", "提示");
  54. this.Shutdown();
  55. }
  56. }
  57. }
  58. }