From f9ff9af09463486de8f627f30e2cf64b41380996 Mon Sep 17 00:00:00 2001 From: Yeechan Lu Date: Thu, 30 Jan 2014 00:53:15 +0800 Subject: [PATCH] Add support for Everything both 32-bit and 64-bit --- Plugins/Wox.Plugin.Everything/Everything.dll | Bin 54784 -> 0 bytes .../Wox.Plugin.Everything/EverythingAPI.cs | 32 +- Plugins/Wox.Plugin.Everything/Main.cs | 35 +- .../Wox.Plugin.Everything.csproj | 6 +- .../Wox.Plugin.Everything.dll | Bin 10240 -> 0 bytes Plugins/Wox.Plugin.Everything/Wox.Plugin.dll | Bin 8704 -> 0 bytes .../nativesrc/Everything.c | 1801 +++++++++++++++++ .../nativesrc/Everything.def | 51 + .../nativesrc/Everything.h | 95 + .../nativesrc/Everything_IPC.h | 287 +++ .../Wox.Plugin.Everything/nativesrc/dll.sln | 26 + .../nativesrc/dll.vcxproj | 288 +++ .../nativesrc/dll.vcxproj.filters | 27 + .../Wox.Plugin.Everything/x86/Everything.dll | Bin 0 -> 46080 bytes 14 files changed, 2641 insertions(+), 7 deletions(-) delete mode 100644 Plugins/Wox.Plugin.Everything/Everything.dll delete mode 100644 Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.dll delete mode 100644 Plugins/Wox.Plugin.Everything/Wox.Plugin.dll create mode 100644 Plugins/Wox.Plugin.Everything/nativesrc/Everything.c create mode 100644 Plugins/Wox.Plugin.Everything/nativesrc/Everything.def create mode 100644 Plugins/Wox.Plugin.Everything/nativesrc/Everything.h create mode 100644 Plugins/Wox.Plugin.Everything/nativesrc/Everything_IPC.h create mode 100644 Plugins/Wox.Plugin.Everything/nativesrc/dll.sln create mode 100644 Plugins/Wox.Plugin.Everything/nativesrc/dll.vcxproj create mode 100644 Plugins/Wox.Plugin.Everything/nativesrc/dll.vcxproj.filters create mode 100644 Plugins/Wox.Plugin.Everything/x86/Everything.dll diff --git a/Plugins/Wox.Plugin.Everything/Everything.dll b/Plugins/Wox.Plugin.Everything/Everything.dll deleted file mode 100644 index e5ea4f8b86d052f0a3b3be4fc1f707d4ff88e098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54784 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 Sa}qcwfpZc#CxQPM3H%S}L8Dp# diff --git a/Plugins/Wox.Plugin.Everything/EverythingAPI.cs b/Plugins/Wox.Plugin.Everything/EverythingAPI.cs index 6eeab81800..a213b3ec07 100644 --- a/Plugins/Wox.Plugin.Everything/EverythingAPI.cs +++ b/Plugins/Wox.Plugin.Everything/EverythingAPI.cs @@ -8,6 +8,7 @@ namespace Wox.Plugin.Everything { public sealed class EverythingAPI { + #region Const const string EVERYTHING_DLL_NAME = "Everything.dll"; #endregion @@ -46,7 +47,7 @@ namespace Wox.Plugin.Everything private static extern StateCode Everything_GetLastError(); [DllImport(EVERYTHING_DLL_NAME)] - private static extern bool Everything_Query(); + private static extern bool Everything_Query(bool bWait); [DllImport(EVERYTHING_DLL_NAME)] private static extern void Everything_SortResultsByPath(); @@ -175,6 +176,27 @@ namespace Wox.Plugin.Everything return Search(keyWord, 0, int.MaxValue); } + private void no() + { + switch (Everything_GetLastError()) + { + case StateCode.CreateThreadError: + throw new CreateThreadException(); + case StateCode.CreateWindowError: + throw new CreateWindowException(); + case StateCode.InvalidCallError: + throw new InvalidCallException(); + case StateCode.InvalidIndexError: + throw new InvalidIndexException(); + case StateCode.IPCError: + throw new IPCErrorException(); + case StateCode.MemoryError: + throw new MemoryErrorException(); + case StateCode.RegisterClassExError: + throw new RegisterClassExException(); + } + } + /// /// Searches the specified key word. /// @@ -196,7 +218,9 @@ namespace Wox.Plugin.Everything Everything_SetSearch(keyWord); Everything_SetOffset(offset); Everything_SetMax(maxCount); - if (!Everything_Query()) + Everything_SetRegex(true); + + if (!Everything_Query(true)) { switch (Everything_GetLastError()) { @@ -218,7 +242,9 @@ namespace Wox.Plugin.Everything yield break; } - const int bufferSize = 256; + Everything_SortResultsByPath(); + + const int bufferSize = 4096; StringBuilder buffer = new StringBuilder(bufferSize); for (int idx = 0; idx < Everything_GetNumResults(); ++idx) { diff --git a/Plugins/Wox.Plugin.Everything/Main.cs b/Plugins/Wox.Plugin.Everything/Main.cs index 203a46c579..fc3ccab710 100644 --- a/Plugins/Wox.Plugin.Everything/Main.cs +++ b/Plugins/Wox.Plugin.Everything/Main.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; @@ -7,6 +8,7 @@ namespace Wox.Plugin.Everything { public class Main : IPlugin { + Wox.Plugin.PluginInitContext context; EverythingAPI api = new EverythingAPI(); public List Query(Query query) @@ -14,20 +16,47 @@ namespace Wox.Plugin.Everything var results = new List(); if (query.ActionParameters.Count > 0 && query.ActionParameters[0].Length > 0) { - IEnumerable enumerable = api.Search(query.ActionParameters[0]); + IEnumerable enumerable = api.Search(query.ActionParameters[0], 0, 100); foreach (string s in enumerable) { Result r = new Result(); - r.Title = s; + r.Title = Path.GetFileName(s); + r.SubTitle = s; + r.Action = () => + { + context.HideApp(); + System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(); + info.UseShellExecute = true; + info.FileName = s; + try + { + System.Diagnostics.Process.Start(info); + } + catch (Exception ex) + { + context.ShowMsg("Could not start " + r.Title, ex.Message, null); + } + }; results.Add(r); } } + api.Reset(); + return results; } + + [System.Runtime.InteropServices.DllImport("kernel32.dll")] + private static extern int LoadLibrary(string name); - public void Init() + public void Init(Wox.Plugin.PluginInitContext context) { + this.context = context; + + LoadLibrary(Path.Combine( + Path.Combine(context.PluginMetadata.PluginDirecotry, (IntPtr.Size == 4) ? "x86" : "x64"), + "Everything.dll" + )); //init everything } } diff --git a/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj b/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj index 2c0e35c8d9..9397bc1a02 100644 --- a/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj +++ b/Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj @@ -48,6 +48,9 @@ prompt MinimumRecommendedRules.ruleset + + + @@ -76,7 +79,8 @@ xcopy /Y $(TargetDir)$(TargetFileName) $(SolutionDir)Wox\bin\Debug\Plugins\Everything\ xcopy /Y $(TargetDir)plugin.ini $(SolutionDir)Wox\bin\Debug\Plugins\Everything\ -xcopy /Y $(ProjectDir)Everything.dll $(SolutionDir)Wox\bin\Debug\Plugins\Everything\ +xcopy /Y $(ProjectDir)x86\Everything.dll $(SolutionDir)Wox\bin\Debug\Plugins\Everything\x86\ +xcopy /Y $(ProjectDir)x64\Everything.dll $(SolutionDir)Wox\bin\Debug\Plugins\Everything\x64\ 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