diff --git a/Plugins/Wox.Plugin.Sys/Sys.cs b/Plugins/Wox.Plugin.Sys/Sys.cs index 1617772b09..359faeef4b 100644 --- a/Plugins/Wox.Plugin.Sys/Sys.cs +++ b/Plugins/Wox.Plugin.Sys/Sys.cs @@ -8,13 +8,13 @@ using Wox.Infrastructure; namespace Wox.Plugin.Sys { - public class Sys : IPlugin, ISettingProvider ,IPluginI18n - { - List availableResults = new List(); + public class Sys : IPlugin, ISettingProvider, IPluginI18n + { + List availableResults = new List(); private PluginInitContext context; - #region DllImport - + #region DllImport + internal const int EWX_LOGOFF = 0x00000000; internal const int EWX_SHUTDOWN = 0x00000001; internal const int EWX_REBOOT = 0x00000002; @@ -26,7 +26,7 @@ namespace Wox.Plugin.Sys [DllImport("user32")] private static extern void LockWorkStation(); - #endregion + #endregion public System.Windows.Controls.Control CreateSettingPanel() { @@ -35,11 +35,6 @@ namespace Wox.Plugin.Sys public List Query(Query query) { - if (availableResults.Count == 0) - { - LoadCommands(); - } - List results = new List(); foreach (Result availableResult in availableResults) { @@ -54,6 +49,7 @@ namespace Wox.Plugin.Sys public void Init(PluginInitContext context) { this.context = context; + LoadCommands(); } private void LoadCommands() @@ -153,5 +149,5 @@ namespace Wox.Plugin.Sys { return context.API.GetTranslation("wox_plugin_sys_plugin_description"); } - } + } } diff --git a/Plugins/Wox.Plugin.Sys/SysSettings.xaml.cs b/Plugins/Wox.Plugin.Sys/SysSettings.xaml.cs index 6f91acc032..8c0546be69 100644 --- a/Plugins/Wox.Plugin.Sys/SysSettings.xaml.cs +++ b/Plugins/Wox.Plugin.Sys/SysSettings.xaml.cs @@ -3,9 +3,6 @@ using System.Windows.Controls; namespace Wox.Plugin.Sys { - /// - /// Interaction logic for SysSettings.xaml - /// public partial class SysSettings : UserControl { public SysSettings(List Results) diff --git a/Wox.Core/Updater/UpdaterManager.cs b/Wox.Core/Updater/UpdaterManager.cs index 21b43cfef7..f93f9a3487 100644 --- a/Wox.Core/Updater/UpdaterManager.cs +++ b/Wox.Core/Updater/UpdaterManager.cs @@ -15,6 +15,7 @@ using Wox.Core.i18n; using Wox.Core.UserSettings; using Wox.Infrastructure.Http; using Wox.Infrastructure.Logger; +using System.Threading; namespace Wox.Core.Updater { @@ -82,22 +83,25 @@ namespace Wox.Core.Updater public void CheckUpdate() { - string json = HttpRequest.Get(VersionCheckURL, HttpProxy.Instance); - if (!string.IsNullOrEmpty(json)) + ThreadPool.QueueUserWorkItem(o => { - try + string json = HttpRequest.Get(VersionCheckURL, HttpProxy.Instance); + if (!string.IsNullOrEmpty(json)) { - NewRelease = JsonConvert.DeserializeObject(json); - if (IsNewerThanCurrent(NewRelease) && !UserSettingStorage.Instance.DontPromptUpdateMsg) + try { - StartUpdate(); + NewRelease = JsonConvert.DeserializeObject(json); + if (IsNewerThanCurrent(NewRelease) && !UserSettingStorage.Instance.DontPromptUpdateMsg) + { + StartUpdate(); + } + } + catch (System.Exception e) + { + Log.Error(e); } } - catch (System.Exception e) - { - Log.Error(e); - } - } + }); } private void StartUpdate()