diff --git a/Core/ViewModel/SearchWindowViewModel.cs b/Core/ViewModel/SearchWindowViewModel.cs index 52f6bdf..73ce90f 100644 --- a/Core/ViewModel/SearchWindowViewModel.cs +++ b/Core/ViewModel/SearchWindowViewModel.cs @@ -67,8 +67,12 @@ public partial class SearchWindowViewModel : ObservableRecipient public SearchWindowViewModel() { - ReloadApps(false); - LoadLast(); + + Task.Run((() => + { + ReloadApps(false); + LoadLast(); + })); } public void AddCollection(string search) @@ -80,27 +84,14 @@ public void ReloadApps(bool logging = false) { if (_reloading) return; + _reloading = true; + CheckEverything(); ServiceManager.Services.GetService()!.DelNullFile(_collection); ServiceManager.Services.GetService()!.GetAllApps(_collection, logging, ConfigManger.Config.useEverything); - if (ConfigManger.Config.useEverything && RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - Log.Debug("everything检测"); - - - var service = ServiceManager.Services.GetService()!; - EverythingIsOk = service.IsRun(); - - if (!EverythingIsOk.Value) - ServiceManager.Services.GetService()!.AutoStartEverything(_collection, () => - { - Thread.Sleep(1500); - var everythingService = ServiceManager.Services.GetService()!; - EverythingIsOk = everythingService.IsRun(); - }); - } + foreach (var scenario in CustomScenarioManger.CustomScenarios) { @@ -131,6 +122,26 @@ public void ReloadApps(bool logging = false) _reloading = false; } + private void CheckEverything() + { + if (ConfigManger.Config.useEverything && RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + Log.Debug("everything检测"); + + + var service = ServiceManager.Services.GetService()!; + EverythingIsOk = service.IsRun(); + + if (!EverythingIsOk.Value) + ServiceManager.Services.GetService()!.AutoStartEverything(_collection, () => + { + Thread.Sleep(1500); + var everythingService = ServiceManager.Services.GetService()!; + EverythingIsOk = everythingService.IsRun(); + }); + } + } + public void CheckClipboard() {