using LocalhostMES.Api.Hosting; using LocalhostMES.Core; using LocalhostMES.ViewModels; using LocalhostMES.ViewModels.Services; using LocalhostMES.ViewModels.Tabs; using LocalhostMES.Views; using Prism.Ioc; using Prism.Unity; using System; using System.Diagnostics; using System.Windows; namespace LocalhostMES { /// /// App.xaml 的交互逻辑 /// public partial class App : PrismApplication { protected override Window CreateShell() { // 写入启动日志 LogHelper.WriteLogInfo("程序启动"); return Container.Resolve(); } protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterSingleton(); containerRegistry.RegisterSingleton(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); containerRegistry.Register(); } protected override void OnInitialized() { base.OnInitialized(); ThemeManager.ApplyTheme(ThemeMode.Light); AutoRunSystemSettings(); } private void AutoRunSystemSettings() { try { var systemSettingsViewModel = Container.Resolve(); systemSettingsViewModel.StartService(); systemSettingsViewModel.SaveSettings(); Container.Resolve().StartService(); bool isRunning = Process.GetProcessesByName("TeamAAS-VM").Length > 0; if ( !isRunning ) { Process.Start(@"D:\HANS LASER\TeamAAS-VP.exe"); } } catch ( Exception ex ) { MessageBox.Show($"启动自动初始化系统设置失败: {ex.Message}"); } } private static System.Threading.Mutex mutex; protected override void OnStartup(StartupEventArgs e) { mutex = new System.Threading.Mutex(true, "LocalhostMes_CRNS"); if ( mutex.WaitOne(0, false) ) { base.OnStartup(e); } else { MessageBox.Show("程序已经在运行!", "提示"); this.Shutdown(); } } } }