mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 19:57:07 +02:00
Add everything plugin
This commit is contained in:
63
Plugins/Wox.Plugin.Everything/.gitattributes
vendored
Normal file
63
Plugins/Wox.Plugin.Everything/.gitattributes
vendored
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Set default behavior to automatically normalize line endings.
|
||||||
|
###############################################################################
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set default behavior for command prompt diff.
|
||||||
|
#
|
||||||
|
# This is need for earlier builds of msysgit that does not have it on by
|
||||||
|
# default for csharp files.
|
||||||
|
# Note: This is only used by command line
|
||||||
|
###############################################################################
|
||||||
|
#*.cs diff=csharp
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Set the merge driver for project and solution files
|
||||||
|
#
|
||||||
|
# Merging from the command prompt will add diff markers to the files if there
|
||||||
|
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||||
|
# the diff markers are never inserted). Diff markers may cause the following
|
||||||
|
# file extensions to fail to load in VS. An alternative would be to treat
|
||||||
|
# these files as binary and thus will always conflict and require user
|
||||||
|
# intervention with every merge. To do so, just uncomment the entries below
|
||||||
|
###############################################################################
|
||||||
|
#*.sln merge=binary
|
||||||
|
#*.csproj merge=binary
|
||||||
|
#*.vbproj merge=binary
|
||||||
|
#*.vcxproj merge=binary
|
||||||
|
#*.vcproj merge=binary
|
||||||
|
#*.dbproj merge=binary
|
||||||
|
#*.fsproj merge=binary
|
||||||
|
#*.lsproj merge=binary
|
||||||
|
#*.wixproj merge=binary
|
||||||
|
#*.modelproj merge=binary
|
||||||
|
#*.sqlproj merge=binary
|
||||||
|
#*.wwaproj merge=binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# behavior for image files
|
||||||
|
#
|
||||||
|
# image files are treated as binary by default.
|
||||||
|
###############################################################################
|
||||||
|
#*.jpg binary
|
||||||
|
#*.png binary
|
||||||
|
#*.gif binary
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# diff behavior for common document formats
|
||||||
|
#
|
||||||
|
# Convert binary document formats to text before diffing them. This feature
|
||||||
|
# is only available from the command line. Turn it on by uncommenting the
|
||||||
|
# entries below.
|
||||||
|
###############################################################################
|
||||||
|
#*.doc diff=astextplain
|
||||||
|
#*.DOC diff=astextplain
|
||||||
|
#*.docx diff=astextplain
|
||||||
|
#*.DOCX diff=astextplain
|
||||||
|
#*.dot diff=astextplain
|
||||||
|
#*.DOT diff=astextplain
|
||||||
|
#*.pdf diff=astextplain
|
||||||
|
#*.PDF diff=astextplain
|
||||||
|
#*.rtf diff=astextplain
|
||||||
|
#*.RTF diff=astextplain
|
||||||
156
Plugins/Wox.Plugin.Everything/.gitignore
vendored
Normal file
156
Plugins/Wox.Plugin.Everything/.gitignore
vendored
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
|
||||||
|
[Dd]ebug/
|
||||||
|
[Rr]elease/
|
||||||
|
x64/
|
||||||
|
build/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
|
||||||
|
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
|
||||||
|
!packages/*/build/
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.tmp_proj
|
||||||
|
*.log
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
*.pidb
|
||||||
|
*.log
|
||||||
|
*.scc
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.cachefile
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
*.ncrunch*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress/
|
||||||
|
|
||||||
|
# DocProject is a documentation generator add-in
|
||||||
|
DocProject/buildhelp/
|
||||||
|
DocProject/Help/*.HxT
|
||||||
|
DocProject/Help/*.HxC
|
||||||
|
DocProject/Help/*.hhc
|
||||||
|
DocProject/Help/*.hhk
|
||||||
|
DocProject/Help/*.hhp
|
||||||
|
DocProject/Help/Html2
|
||||||
|
DocProject/Help/html
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish/
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.Publish.xml
|
||||||
|
|
||||||
|
# NuGet Packages Directory
|
||||||
|
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
||||||
|
packages/
|
||||||
|
|
||||||
|
# Windows Azure Build Output
|
||||||
|
csx
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Windows Store app package directory
|
||||||
|
AppPackages/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
sql/
|
||||||
|
*.Cache
|
||||||
|
ClientBin/
|
||||||
|
[Ss]tyle[Cc]op.*
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.[Pp]ublish.xml
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file to a newer
|
||||||
|
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
UpgradeLog*.htm
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
App_Data/*.mdf
|
||||||
|
App_Data/*.ldf
|
||||||
|
|
||||||
|
|
||||||
|
#LightSwitch generated files
|
||||||
|
GeneratedArtifacts/
|
||||||
|
_Pvt_Extensions/
|
||||||
|
ModelManifest.xml
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# Windows detritus
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
# Windows image file caches
|
||||||
|
Thumbs.db
|
||||||
|
ehthumbs.db
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Mac desktop service store files
|
||||||
|
.DS_Store
|
||||||
63
Plugins/Wox.Plugin.Everything/ContextMenuStorage.cs
Normal file
63
Plugins/Wox.Plugin.Everything/ContextMenuStorage.cs
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Wox.Infrastructure.Storage;
|
||||||
|
using System.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything
|
||||||
|
{
|
||||||
|
public class ContextMenuStorage : JsonStrorage<ContextMenuStorage>
|
||||||
|
{
|
||||||
|
[JsonProperty]
|
||||||
|
public List<ContextMenu> ContextMenus = new List<ContextMenu>();
|
||||||
|
|
||||||
|
|
||||||
|
[JsonProperty]
|
||||||
|
public int MaxSearchCount { get; set; }
|
||||||
|
|
||||||
|
protected override string ConfigName
|
||||||
|
{
|
||||||
|
get { return "EverythingContextMenu"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string ConfigFolder
|
||||||
|
{
|
||||||
|
get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); }
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override ContextMenuStorage LoadDefault()
|
||||||
|
{
|
||||||
|
ContextMenus = new List<ContextMenu>()
|
||||||
|
{
|
||||||
|
new ContextMenu()
|
||||||
|
{
|
||||||
|
Name = "Open Containing Folder",
|
||||||
|
Command = "explorer.exe",
|
||||||
|
Argument = " /select,\"{path}\"",
|
||||||
|
ImagePath ="Images\\folder.png"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
MaxSearchCount = 100;
|
||||||
|
Save();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ContextMenu
|
||||||
|
{
|
||||||
|
[JsonProperty]
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty]
|
||||||
|
public string Command { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty]
|
||||||
|
public string Argument { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty]
|
||||||
|
public string ImagePath { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
248
Plugins/Wox.Plugin.Everything/Everything/EverythingAPI.cs
Normal file
248
Plugins/Wox.Plugin.Everything/Everything/EverythingAPI.cs
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Text;
|
||||||
|
using Wox.Plugin.Everything.Everything.Exceptions;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
public sealed class EverythingAPI
|
||||||
|
{
|
||||||
|
#region DllImport
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern int Everything_SetSearch(string lpSearchString);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_SetMatchPath(bool bEnable);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_SetMatchCase(bool bEnable);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_SetMatchWholeWord(bool bEnable);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_SetRegex(bool bEnable);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_SetMax(int dwMax);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_SetOffset(int dwOffset);
|
||||||
|
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern bool Everything_GetMatchPath();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern bool Everything_GetMatchCase();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern bool Everything_GetMatchWholeWord();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern bool Everything_GetRegex();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern UInt32 Everything_GetMax();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern UInt32 Everything_GetOffset();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern string Everything_GetSearch();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern StateCode Everything_GetLastError();
|
||||||
|
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME, EntryPoint = "Everything_QueryW")]
|
||||||
|
private static extern bool Everything_Query(bool bWait);
|
||||||
|
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_SortResultsByPath();
|
||||||
|
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern int Everything_GetNumFileResults();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern int Everything_GetNumFolderResults();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern int Everything_GetNumResults();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern int Everything_GetTotFileResults();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern int Everything_GetTotFolderResults();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern int Everything_GetTotResults();
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern bool Everything_IsVolumeResult(int nIndex);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern bool Everything_IsFolderResult(int nIndex);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern bool Everything_IsFileResult(int nIndex);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_GetResultFullPathName(int nIndex, StringBuilder lpString, int nMaxCount);
|
||||||
|
[DllImport(EVERYTHING_DLL_NAME)]
|
||||||
|
private static extern void Everything_Reset();
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
const string EVERYTHING_DLL_NAME = "Everything.dll";
|
||||||
|
enum StateCode
|
||||||
|
{
|
||||||
|
OK,
|
||||||
|
MemoryError,
|
||||||
|
IPCError,
|
||||||
|
RegisterClassExError,
|
||||||
|
CreateWindowError,
|
||||||
|
CreateThreadError,
|
||||||
|
InvalidIndexError,
|
||||||
|
InvalidCallError
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether [match path].
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>true</c> if [match path]; otherwise, <c>false</c>.</value>
|
||||||
|
public Boolean MatchPath
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Everything_GetMatchPath();
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Everything_SetMatchPath(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether [match case].
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>true</c> if [match case]; otherwise, <c>false</c>.</value>
|
||||||
|
public Boolean MatchCase
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Everything_GetMatchCase();
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Everything_SetMatchCase(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether [match whole word].
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>true</c> if [match whole word]; otherwise, <c>false</c>.</value>
|
||||||
|
public Boolean MatchWholeWord
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Everything_GetMatchWholeWord();
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Everything_SetMatchWholeWord(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether [enable regex].
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>true</c> if [enable regex]; otherwise, <c>false</c>.</value>
|
||||||
|
public Boolean EnableRegex
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Everything_GetRegex();
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Everything_SetRegex(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Resets this instance.
|
||||||
|
/// </summary>
|
||||||
|
public void Reset()
|
||||||
|
{
|
||||||
|
Everything_Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Searches the specified key word.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyWord">The key word.</param>
|
||||||
|
/// <param name="offset">The offset.</param>
|
||||||
|
/// <param name="maxCount">The max count.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public IEnumerable<SearchResult> Search(string keyWord, int offset = 0, int maxCount = 100)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(keyWord))
|
||||||
|
throw new ArgumentNullException("keyWord");
|
||||||
|
|
||||||
|
if (offset < 0)
|
||||||
|
throw new ArgumentOutOfRangeException("offset");
|
||||||
|
|
||||||
|
if (maxCount < 0)
|
||||||
|
throw new ArgumentOutOfRangeException("maxCount");
|
||||||
|
|
||||||
|
if (keyWord.StartsWith("@"))
|
||||||
|
{
|
||||||
|
Everything_SetRegex(true);
|
||||||
|
keyWord = keyWord.Substring(1);
|
||||||
|
}
|
||||||
|
Everything_SetSearch(keyWord);
|
||||||
|
Everything_SetOffset(offset);
|
||||||
|
Everything_SetMax(maxCount);
|
||||||
|
|
||||||
|
|
||||||
|
if (!Everything_Query(true))
|
||||||
|
{
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Everything_SortResultsByPath();
|
||||||
|
|
||||||
|
const int bufferSize = 4096;
|
||||||
|
StringBuilder buffer = new StringBuilder(bufferSize);
|
||||||
|
for (int idx = 0; idx < Everything_GetNumResults(); ++idx)
|
||||||
|
{
|
||||||
|
Everything_GetResultFullPathName(idx, buffer, bufferSize);
|
||||||
|
|
||||||
|
var result = new SearchResult() { FullPath = buffer.ToString() };
|
||||||
|
if (Everything_IsFolderResult(idx))
|
||||||
|
result.Type = ResultType.Folder;
|
||||||
|
else if (Everything_IsFileResult(idx))
|
||||||
|
result.Type = ResultType.File;
|
||||||
|
|
||||||
|
yield return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class CreateThreadException : ApplicationException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class CreateWindowException : ApplicationException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class IPCErrorException : ApplicationException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class InvalidCallException : ApplicationException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class InvalidIndexException : ApplicationException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything.Exceptions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class MemoryErrorException : ApplicationException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public class RegisterClassExException : ApplicationException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Plugins/Wox.Plugin.Everything/Everything/ResultType.cs
Normal file
9
Plugins/Wox.Plugin.Everything/Everything/ResultType.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
public enum ResultType
|
||||||
|
{
|
||||||
|
Volume,
|
||||||
|
Folder,
|
||||||
|
File
|
||||||
|
}
|
||||||
|
}
|
||||||
8
Plugins/Wox.Plugin.Everything/Everything/SearchResult.cs
Normal file
8
Plugins/Wox.Plugin.Everything/Everything/SearchResult.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
namespace Wox.Plugin.Everything.Everything
|
||||||
|
{
|
||||||
|
public class SearchResult
|
||||||
|
{
|
||||||
|
public string FullPath { get; set; }
|
||||||
|
public ResultType Type { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
Plugins/Wox.Plugin.Everything/Images/error.png
Normal file
BIN
Plugins/Wox.Plugin.Everything/Images/error.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
BIN
Plugins/Wox.Plugin.Everything/Images/file.png
Normal file
BIN
Plugins/Wox.Plugin.Everything/Images/file.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Plugins/Wox.Plugin.Everything/Images/find.png
Normal file
BIN
Plugins/Wox.Plugin.Everything/Images/find.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 522 B |
BIN
Plugins/Wox.Plugin.Everything/Images/folder.png
Normal file
BIN
Plugins/Wox.Plugin.Everything/Images/folder.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Plugins/Wox.Plugin.Everything/Images/image.png
Normal file
BIN
Plugins/Wox.Plugin.Everything/Images/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
BIN
Plugins/Wox.Plugin.Everything/Images/warning.png
Normal file
BIN
Plugins/Wox.Plugin.Everything/Images/warning.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
182
Plugins/Wox.Plugin.Everything/Main.cs
Normal file
182
Plugins/Wox.Plugin.Everything/Main.cs
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using Wox.Infrastructure;
|
||||||
|
using System.Reflection;
|
||||||
|
using Wox.Plugin.Everything.Everything;
|
||||||
|
|
||||||
|
namespace Wox.Plugin.Everything
|
||||||
|
{
|
||||||
|
public class Main : IPlugin
|
||||||
|
{
|
||||||
|
PluginInitContext context;
|
||||||
|
EverythingAPI api = new EverythingAPI();
|
||||||
|
private static List<string> imageExts = new List<string>() { ".png", ".jpg", ".jpeg", ".gif", ".bmp", ".tiff", ".ico" };
|
||||||
|
private static List<string> executableExts = new List<string>() { ".exe" };
|
||||||
|
|
||||||
|
public List<Result> Query(Query query)
|
||||||
|
{
|
||||||
|
var results = new List<Result>();
|
||||||
|
if (!string.IsNullOrEmpty(query.Search))
|
||||||
|
{
|
||||||
|
var keyword = query.Search;
|
||||||
|
if (ContextMenuStorage.Instance.MaxSearchCount <= 0)
|
||||||
|
{
|
||||||
|
ContextMenuStorage.Instance.MaxSearchCount = 100;
|
||||||
|
ContextMenuStorage.Instance.Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var searchList = api.Search(keyword, maxCount: ContextMenuStorage.Instance.MaxSearchCount).ToList();
|
||||||
|
var fuzzyMather = FuzzyMatcher.Create(keyword);
|
||||||
|
searchList.Sort(
|
||||||
|
(x, y) =>
|
||||||
|
fuzzyMather.Evaluate(Path.GetFileName(y.FullPath)).Score -
|
||||||
|
fuzzyMather.Evaluate(Path.GetFileName(x.FullPath)).Score);
|
||||||
|
|
||||||
|
foreach (var s in searchList)
|
||||||
|
{
|
||||||
|
var path = s.FullPath;
|
||||||
|
Result r = new Result();
|
||||||
|
r.Title = Path.GetFileName(path);
|
||||||
|
r.SubTitle = path;
|
||||||
|
r.IcoPath = GetIconPath(s);
|
||||||
|
r.Action = (c) =>
|
||||||
|
{
|
||||||
|
context.API.HideApp();
|
||||||
|
context.API.ShellRun(path);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
r.ContextMenu = GetContextMenu(s);
|
||||||
|
results.Add(r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (IPCErrorException)
|
||||||
|
{
|
||||||
|
StartEverything();
|
||||||
|
results.Add(new Result()
|
||||||
|
{
|
||||||
|
Title = "Everything is not running, we already run it for you now. Try search again",
|
||||||
|
IcoPath = "Images\\warning.png"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
results.Add(new Result()
|
||||||
|
{
|
||||||
|
Title = "Everything plugin has an error (enter to copy error message)",
|
||||||
|
SubTitle = e.Message,
|
||||||
|
Action = _ =>
|
||||||
|
{
|
||||||
|
System.Windows.Clipboard.SetText(e.Message + "\r\n" + e.StackTrace);
|
||||||
|
context.API.ShowMsg("Copied", "Error message has copied to your clipboard", string.Empty);
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
IcoPath = "Images\\error.png"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
api.Reset();
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetIconPath(SearchResult s)
|
||||||
|
{
|
||||||
|
var ext = Path.GetExtension(s.FullPath);
|
||||||
|
if (s.Type == ResultType.Folder)
|
||||||
|
{
|
||||||
|
return "Images\\folder.png";
|
||||||
|
}
|
||||||
|
else if (!string.IsNullOrEmpty(ext))
|
||||||
|
{
|
||||||
|
if (imageExts.Contains(ext.ToLower()))
|
||||||
|
{
|
||||||
|
return "Images\\image.png";
|
||||||
|
}
|
||||||
|
else if (executableExts.Contains(ext.ToLower()))
|
||||||
|
{
|
||||||
|
return s.FullPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "Images\\file.png";
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
|
||||||
|
private static extern int LoadLibrary(string name);
|
||||||
|
|
||||||
|
private List<Result> GetContextMenu(SearchResult record)
|
||||||
|
{
|
||||||
|
List<Result> contextMenus = new List<Result>();
|
||||||
|
|
||||||
|
if (record.Type == ResultType.File)
|
||||||
|
{
|
||||||
|
foreach (ContextMenu contextMenu in ContextMenuStorage.Instance.ContextMenus)
|
||||||
|
{
|
||||||
|
contextMenus.Add(new Result()
|
||||||
|
{
|
||||||
|
Title = contextMenu.Name,
|
||||||
|
Action = _ =>
|
||||||
|
{
|
||||||
|
string argument = contextMenu.Argument.Replace("{path}", record.FullPath);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start(contextMenu.Command, argument);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
context.API.ShowMsg("Can't start " + record.FullPath, string.Empty, string.Empty);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
IcoPath = contextMenu.ImagePath
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return contextMenus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Init(PluginInitContext context)
|
||||||
|
{
|
||||||
|
this.context = context;
|
||||||
|
|
||||||
|
LoadLibrary(Path.Combine(
|
||||||
|
Path.Combine(context.CurrentPluginMetadata.PluginDirectory, (IntPtr.Size == 4) ? "x86" : "x64"),
|
||||||
|
"Everything.dll"
|
||||||
|
));
|
||||||
|
|
||||||
|
StartEverything();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StartEverything()
|
||||||
|
{
|
||||||
|
if (!CheckEverythingIsRunning())
|
||||||
|
{
|
||||||
|
Process p = new Process();
|
||||||
|
p.StartInfo.Verb = "runas";
|
||||||
|
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||||
|
p.StartInfo.FileName = GetEverythingPath();
|
||||||
|
p.StartInfo.UseShellExecute = true;
|
||||||
|
p.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CheckEverythingIsRunning()
|
||||||
|
{
|
||||||
|
return Process.GetProcessesByName("Everything").Length > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetEverythingPath()
|
||||||
|
{
|
||||||
|
string everythingFolder = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "PortableEverything");
|
||||||
|
return Path.Combine(everythingFolder, "Everything.exe");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
Plugins/Wox.Plugin.Everything/PortableEverything/Everything.exe
Normal file
BIN
Plugins/Wox.Plugin.Everything/PortableEverything/Everything.exe
Normal file
Binary file not shown.
36
Plugins/Wox.Plugin.Everything/Properties/AssemblyInfo.cs
Normal file
36
Plugins/Wox.Plugin.Everything/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// 有关程序集的常规信息通过以下
|
||||||
|
// 特性集控制。更改这些特性值可修改
|
||||||
|
// 与程序集关联的信息。
|
||||||
|
[assembly: AssemblyTitle("Wox.Plugin.Everything")]
|
||||||
|
[assembly: AssemblyDescription("https://github.com/qianlifeng/Wox")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("Wox.Plugin.Everything")]
|
||||||
|
[assembly: AssemblyCopyright("The MIT License (MIT)")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||||
|
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
|
||||||
|
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||||
|
[assembly: Guid("97f6ccd0-e9dc-4aa2-b4ce-6b9f14ea20a7")]
|
||||||
|
|
||||||
|
// 程序集的版本信息由下面四个值组成:
|
||||||
|
//
|
||||||
|
// 主版本
|
||||||
|
// 次版本
|
||||||
|
// 生成号
|
||||||
|
// 修订号
|
||||||
|
//
|
||||||
|
// 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
|
||||||
|
// 方法是按如下所示使用“*”:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
4
Plugins/Wox.Plugin.Everything/README.md
Normal file
4
Plugins/Wox.Plugin.Everything/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Wox.Plugin.Everything
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Wox plugin for Everything
|
||||||
130
Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj
Normal file
130
Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.csproj
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{230AE83F-E92E-4E69-8355-426B305DA9C0}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>Wox.Plugin.Everything</RootNamespace>
|
||||||
|
<AssemblyName>Wox.Plugin.Everything</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\Wox\</SolutionDir>
|
||||||
|
<RestorePackages>true</RestorePackages>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>..\..\Output\Debug\Plugins\Wox.Plugin.Everything\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>..\..\Output\Release\Plugins\Wox.Plugin.Everything\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<StartupObject />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Newtonsoft.Json">
|
||||||
|
<HintPath>packages\Newtonsoft.Json.6.0.8\lib\net35\Newtonsoft.Json.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="PresentationCore" />
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Everything\Exceptions\CreateThreadException.cs" />
|
||||||
|
<Compile Include="Everything\Exceptions\CreateWindowException.cs" />
|
||||||
|
<Compile Include="Everything\EverythingAPI.cs" />
|
||||||
|
<Compile Include="Everything\Exceptions\MemoryErrorException.cs" />
|
||||||
|
<Compile Include="Everything\Exceptions\InvalidCallException.cs" />
|
||||||
|
<Compile Include="Everything\Exceptions\InvalidIndexException.cs" />
|
||||||
|
<Compile Include="Everything\Exceptions\IPCErrorException.cs" />
|
||||||
|
<Compile Include="Everything\Exceptions\RegisterClassExException.cs" />
|
||||||
|
<Compile Include="Everything\ResultType.cs" />
|
||||||
|
<Compile Include="Everything\SearchResult.cs" />
|
||||||
|
<Compile Include="ContextMenuStorage.cs" />
|
||||||
|
<Compile Include="Main.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Images\error.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Images\file.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Images\find.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Images\folder.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Images\image.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Images\warning.png">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<None Include="PortableEverything\Everything.exe">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<Content Include="x64\Everything.dll">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="x86\Everything.dll">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
<None Include="plugin.json">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\Wox.Infrastructure\Wox.Infrastructure.csproj">
|
||||||
|
<Project>{4fd29318-a8ab-4d8f-aa47-60bc241b8da3}</Project>
|
||||||
|
<Name>Wox.Infrastructure</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\Wox.Plugin\Wox.Plugin.csproj">
|
||||||
|
<Project>{8451ecdd-2ea4-4966-bb0a-7bbc40138e80}</Project>
|
||||||
|
<Name>Wox.Plugin</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<PostBuildEvent>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。启用“NuGet 程序包还原”可下载这些程序包。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
|
||||||
|
</Target>
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
29
Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.sln
Normal file
29
Plugins/Wox.Plugin.Everything/Wox.Plugin.Everything.sln
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 2013
|
||||||
|
VisualStudioVersion = 12.0.21005.1
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wox.Plugin.Everything", "Wox.Plugin.Everything.csproj", "{230AE83F-E92E-4E69-8355-426B305DA9C0}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{9BEA8C30-8CC3-48FE-87FD-8D7E65898C1A}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
.nuget\NuGet.Config = .nuget\NuGet.Config
|
||||||
|
.nuget\NuGet.exe = .nuget\NuGet.exe
|
||||||
|
.nuget\NuGet.targets = .nuget\NuGet.targets
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{230AE83F-E92E-4E69-8355-426B305DA9C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{230AE83F-E92E-4E69-8355-426B305DA9C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{230AE83F-E92E-4E69-8355-426B305DA9C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{230AE83F-E92E-4E69-8355-426B305DA9C0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
1801
Plugins/Wox.Plugin.Everything/nativesrc/Everything.c
Normal file
1801
Plugins/Wox.Plugin.Everything/nativesrc/Everything.c
Normal file
File diff suppressed because it is too large
Load Diff
51
Plugins/Wox.Plugin.Everything/nativesrc/Everything.def
Normal file
51
Plugins/Wox.Plugin.Everything/nativesrc/Everything.def
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
LIBRARY Everything
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
|
||||||
|
Everything_GetLastError
|
||||||
|
|
||||||
|
Everything_SetSearchA
|
||||||
|
Everything_SetSearchW
|
||||||
|
Everything_SetMatchPath
|
||||||
|
Everything_SetMatchCase
|
||||||
|
Everything_SetMatchWholeWord
|
||||||
|
Everything_SetRegex
|
||||||
|
Everything_SetMax
|
||||||
|
Everything_SetOffset
|
||||||
|
|
||||||
|
Everything_GetSearchA
|
||||||
|
Everything_GetSearchW
|
||||||
|
Everything_GetMatchPath
|
||||||
|
Everything_GetMatchCase
|
||||||
|
Everything_GetMatchWholeWord
|
||||||
|
Everything_GetRegex
|
||||||
|
Everything_GetMax
|
||||||
|
Everything_GetOffset
|
||||||
|
|
||||||
|
Everything_QueryA
|
||||||
|
Everything_QueryW
|
||||||
|
|
||||||
|
Everything_IsQueryReply
|
||||||
|
|
||||||
|
Everything_SortResultsByPath
|
||||||
|
|
||||||
|
Everything_GetNumFileResults
|
||||||
|
Everything_GetNumFolderResults
|
||||||
|
Everything_GetNumResults
|
||||||
|
Everything_GetTotFileResults
|
||||||
|
Everything_GetTotFolderResults
|
||||||
|
Everything_GetTotResults
|
||||||
|
|
||||||
|
Everything_IsVolumeResult
|
||||||
|
Everything_IsFolderResult
|
||||||
|
Everything_IsFileResult
|
||||||
|
|
||||||
|
Everything_GetResultFileNameA
|
||||||
|
Everything_GetResultFileNameW
|
||||||
|
Everything_GetResultPathA
|
||||||
|
Everything_GetResultPathW
|
||||||
|
Everything_GetResultFullPathNameA
|
||||||
|
Everything_GetResultFullPathNameW
|
||||||
|
|
||||||
|
Everything_Reset
|
||||||
|
|
||||||
95
Plugins/Wox.Plugin.Everything/nativesrc/Everything.h
Normal file
95
Plugins/Wox.Plugin.Everything/nativesrc/Everything.h
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
|
||||||
|
#ifndef _EVERYTHING_DLL_
|
||||||
|
#define _EVERYTHING_DLL_
|
||||||
|
|
||||||
|
#ifndef _INC_WINDOWS
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define EVERYTHING_OK 0
|
||||||
|
#define EVERYTHING_ERROR_MEMORY 1
|
||||||
|
#define EVERYTHING_ERROR_IPC 2
|
||||||
|
#define EVERYTHING_ERROR_REGISTERCLASSEX 3
|
||||||
|
#define EVERYTHING_ERROR_CREATEWINDOW 4
|
||||||
|
#define EVERYTHING_ERROR_CREATETHREAD 5
|
||||||
|
#define EVERYTHING_ERROR_INVALIDINDEX 6
|
||||||
|
#define EVERYTHING_ERROR_INVALIDCALL 7
|
||||||
|
|
||||||
|
#ifndef EVERYTHINGAPI
|
||||||
|
#define EVERYTHINGAPI __stdcall
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef EVERYTHINGUSERAPI
|
||||||
|
#define EVERYTHINGUSERAPI __declspec(dllimport)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// write search state
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetSearchW(LPCWSTR lpString);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetSearchA(LPCSTR lpString);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetMatchPath(BOOL bEnable);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetMatchCase(BOOL bEnable);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetMatchWholeWord(BOOL bEnable);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetRegex(BOOL bEnable);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetMax(DWORD dwMax);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetOffset(DWORD dwOffset);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetReplyWindow(HWND hWnd);
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SetReplyID(DWORD nId);
|
||||||
|
|
||||||
|
// read search state
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetMatchPath(VOID);
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetMatchCase(VOID);
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetMatchWholeWord(VOID);
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_GetRegex(VOID);
|
||||||
|
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetMax(VOID);
|
||||||
|
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetOffset(VOID);
|
||||||
|
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetSearchA(VOID);
|
||||||
|
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetSearchW(VOID);
|
||||||
|
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetLastError(VOID);
|
||||||
|
EVERYTHINGUSERAPI HWND EVERYTHINGAPI Everything_GetReplyWindow(VOID);
|
||||||
|
EVERYTHINGUSERAPI DWORD EVERYTHINGAPI Everything_GetReplyID(VOID);
|
||||||
|
|
||||||
|
// execute query
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_QueryA(BOOL bWait);
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_QueryW(BOOL bWait);
|
||||||
|
|
||||||
|
// query reply
|
||||||
|
BOOL EVERYTHINGAPI Everything_IsQueryReply(UINT message,WPARAM wParam,LPARAM lParam,DWORD nId);
|
||||||
|
|
||||||
|
// write result state
|
||||||
|
EVERYTHINGUSERAPI VOID EVERYTHINGAPI Everything_SortResultsByPath(VOID);
|
||||||
|
|
||||||
|
// read result state
|
||||||
|
EVERYTHINGUSERAPI int EVERYTHINGAPI Everything_GetNumFileResults(VOID);
|
||||||
|
EVERYTHINGUSERAPI int EVERYTHINGAPI Everything_GetNumFolderResults(VOID);
|
||||||
|
EVERYTHINGUSERAPI int EVERYTHINGAPI Everything_GetNumResults(VOID);
|
||||||
|
EVERYTHINGUSERAPI int EVERYTHINGAPI Everything_GetTotFileResults(VOID);
|
||||||
|
EVERYTHINGUSERAPI int EVERYTHINGAPI Everything_GetTotFolderResults(VOID);
|
||||||
|
EVERYTHINGUSERAPI int EVERYTHINGAPI Everything_GetTotResults(VOID);
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsVolumeResult(int nIndex);
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsFolderResult(int nIndex);
|
||||||
|
EVERYTHINGUSERAPI BOOL EVERYTHINGAPI Everything_IsFileResult(int nIndex);
|
||||||
|
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultFileNameW(int nIndex);
|
||||||
|
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultFileNameA(int nIndex);
|
||||||
|
EVERYTHINGUSERAPI LPCWSTR EVERYTHINGAPI Everything_GetResultPathW(int nIndex);
|
||||||
|
EVERYTHINGUSERAPI LPCSTR EVERYTHINGAPI Everything_GetResultPathA(int nIndex);
|
||||||
|
EVERYTHINGUSERAPI int Everything_GetResultFullPathNameW(int nIndex,LPWSTR wbuf,int wbuf_size_in_wchars);
|
||||||
|
EVERYTHINGUSERAPI int Everything_GetResultFullPathNameA(int nIndex,LPSTR buf,int bufsize);
|
||||||
|
EVERYTHINGUSERAPI VOID Everything_Reset(VOID);
|
||||||
|
|
||||||
|
#ifdef UNICODE
|
||||||
|
#define Everything_SetSearch Everything_SetSearchW
|
||||||
|
#define Everything_GetSearch Everything_GetSearchW
|
||||||
|
#define Everything_Query Everything_QueryW
|
||||||
|
#define Everything_GetResultFileName Everything_GetResultFileNameW
|
||||||
|
#define Everything_GetResultPath Everything_GetResultPathW
|
||||||
|
#else
|
||||||
|
#define Everything_SetSearch Everything_SetSearchA
|
||||||
|
#define Everything_GetSearch Everything_GetSearchA
|
||||||
|
#define Everything_Query Everything_QueryA
|
||||||
|
#define Everything_GetResultFileName Everything_GetResultFileNameA
|
||||||
|
#define Everything_GetResultPath Everything_GetResultPathA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
287
Plugins/Wox.Plugin.Everything/nativesrc/Everything_IPC.h
Normal file
287
Plugins/Wox.Plugin.Everything/nativesrc/Everything_IPC.h
Normal file
@@ -0,0 +1,287 @@
|
|||||||
|
|
||||||
|
// Everything IPC
|
||||||
|
|
||||||
|
#ifndef _EVERYTHING_IPC_H_
|
||||||
|
#define _EVERYTHING_IPC_H_
|
||||||
|
|
||||||
|
// C
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// 1 byte packing for our varible sized structs
|
||||||
|
#pragma pack(push, 1)
|
||||||
|
|
||||||
|
// WM_USER (send to the taskbar notification window)
|
||||||
|
// SendMessage(FindWindow(EVERYTHING_IPC_WNDCLASS,0),WM_USER,EVERYTHING_IPC_*,lParam)
|
||||||
|
// version format: major.minor.revision.build
|
||||||
|
// example: 1.1.4.309
|
||||||
|
#define EVERYTHING_IPC_GET_MAJOR_VERSION 0 // int major_version = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_GET_MAJOR_VERSION,0);
|
||||||
|
#define EVERYTHING_IPC_GET_MINOR_VERSION 1 // int minor_version = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_GET_MINOR_VERSION,0);
|
||||||
|
#define EVERYTHING_IPC_GET_REVISION 2 // int revision = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_GET_REVISION,0);
|
||||||
|
#define EVERYTHING_IPC_GET_BUILD_NUMBER 3 // int build = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_GET_BUILD,0);
|
||||||
|
|
||||||
|
// uninstall options
|
||||||
|
#define EVERYTHING_IPC_DELETE_START_MENU_SHORTCUTS 100 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_DELETE_START_MENU_SHORTCUTS,0);
|
||||||
|
#define EVERYTHING_IPC_DELETE_QUICK_LAUNCH_SHORTCUT 101 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_DELETE_QUICK_LAUNCH_SHORTCUT,0);
|
||||||
|
#define EVERYTHING_IPC_DELETE_DESKTOP_SHORTCUT 102 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_DELETE_DESKTOP_SHORTCUT,0);
|
||||||
|
#define EVERYTHING_IPC_DELETE_FOLDER_CONTEXT_MENU 103 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_DELETE_FOLDER_CONTEXT_MENU,0);
|
||||||
|
#define EVERYTHING_IPC_DELETE_RUN_ON_SYSTEM_STARTUP 104 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_DELETE_RUN_ON_SYSTEM_STARTUP,0);
|
||||||
|
|
||||||
|
// install options
|
||||||
|
#define EVERYTHING_IPC_CREATE_START_MENU_SHORTCUTS 200 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_CREATE_START_MENU_SHORTCUTS,0);
|
||||||
|
#define EVERYTHING_IPC_CREATE_QUICK_LAUNCH_SHORTCUT 201 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_CREATE_QUICK_LAUNCH_SHORTCUT,0);
|
||||||
|
#define EVERYTHING_IPC_CREATE_DESKTOP_SHORTCUT 202 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_CREATE_DESKTOP_SHORTCUT,0);
|
||||||
|
#define EVERYTHING_IPC_CREATE_FOLDER_CONTEXT_MENU 203 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_CREATE_FOLDER_CONTEXT_MENU,0);
|
||||||
|
#define EVERYTHING_IPC_CREATE_RUN_ON_SYSTEM_STARTUP 204 // SendMessage(hwnd,WM_USER,EVERYTHING_IPC_CREATE_RUN_ON_SYSTEM_STARTUP,0);
|
||||||
|
|
||||||
|
// get option status; 0 = no, 1 = yes, 2 = indeterminate (partially installed)
|
||||||
|
#define EVERYTHING_IPC_IS_START_MENU_SHORTCUTS 300 // int ret = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_IS_START_MENU_SHORTCUTS,0);
|
||||||
|
#define EVERYTHING_IPC_IS_QUICK_LAUNCH_SHORTCUT 301 // int ret = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_IS_QUICK_LAUNCH_SHORTCUT,0);
|
||||||
|
#define EVERYTHING_IPC_IS_DESKTOP_SHORTCUT 302 // int ret = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_IS_DESKTOP_SHORTCUT,0);
|
||||||
|
#define EVERYTHING_IPC_IS_FOLDER_CONTEXT_MENU 303 // int ret = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_IS_FOLDER_CONTEXT_MENU,0);
|
||||||
|
#define EVERYTHING_IPC_IS_RUN_ON_SYSTEM_STARTUP 304 // int ret = (int)SendMessage(hwnd,WM_USER,EVERYTHING_IPC_IS_RUN_ON_SYSTEM_STARTUP,0);
|
||||||
|
|
||||||
|
// find the everything window
|
||||||
|
#define EVERYTHING_IPC_WNDCLASS TEXT("EVERYTHING_TASKBAR_NOTIFICATION")
|
||||||
|
|
||||||
|
// find a everything search window
|
||||||
|
#define EVERYTHING_IPC_SEARCH_WNDCLASS TEXT("EVERYTHING")
|
||||||
|
|
||||||
|
// this global window message is sent to all top level windows when everything starts.
|
||||||
|
#define EVERYTHING_IPC_CREATED TEXT("EVERYTHING_IPC_CREATED")
|
||||||
|
|
||||||
|
// search flags for querys
|
||||||
|
#define EVERYTHING_IPC_MATCHCASE 0x00000001 // match case
|
||||||
|
#define EVERYTHING_IPC_MATCHWHOLEWORD 0x00000002 // match whole word
|
||||||
|
#define EVERYTHING_IPC_MATCHPATH 0x00000004 // include paths in search
|
||||||
|
#define EVERYTHING_IPC_REGEX 0x00000008 // enable regex
|
||||||
|
|
||||||
|
// item flags
|
||||||
|
#define EVERYTHING_IPC_FOLDER 0x00000001 // The item is a folder. (its a file if not set)
|
||||||
|
#define EVERYTHING_IPC_DRIVE 0x00000002 // The folder is a drive. Path will be an empty string.
|
||||||
|
// (will also have the folder bit set)
|
||||||
|
|
||||||
|
// the WM_COPYDATA message for a query.
|
||||||
|
#define EVERYTHING_IPC_COPYDATAQUERYA 1
|
||||||
|
#define EVERYTHING_IPC_COPYDATAQUERYW 2
|
||||||
|
|
||||||
|
// all results
|
||||||
|
#define EVERYTHING_IPC_ALLRESULTS 0xFFFFFFFF // all results
|
||||||
|
|
||||||
|
// macro to get the filename of an item
|
||||||
|
#define EVERYTHING_IPC_ITEMFILENAMEA(list,item) (CHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMA *)(item))->filename_offset)
|
||||||
|
#define EVERYTHING_IPC_ITEMFILENAMEW(list,item) (WCHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMW *)(item))->filename_offset)
|
||||||
|
|
||||||
|
// macro to get the path of an item
|
||||||
|
#define EVERYTHING_IPC_ITEMPATHA(list,item) (CHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMW *)(item))->path_offset)
|
||||||
|
#define EVERYTHING_IPC_ITEMPATHW(list,item) (WCHAR *)((CHAR *)(list) + ((EVERYTHING_IPC_ITEMW *)(item))->path_offset)
|
||||||
|
|
||||||
|
//
|
||||||
|
// Varible sized query struct sent to everything.
|
||||||
|
//
|
||||||
|
// sent in the form of a WM_COPYDAYA message with EVERYTHING_IPC_COPYDATAQUERY as the
|
||||||
|
// dwData member in the COPYDATASTRUCT struct.
|
||||||
|
// set the lpData member of the COPYDATASTRUCT struct to point to your EVERYTHING_IPC_QUERY struct.
|
||||||
|
// set the cbData member of the COPYDATASTRUCT struct to the size of the
|
||||||
|
// EVERYTHING_IPC_QUERY struct minus the size of a CHAR plus the length of the search string in bytes plus
|
||||||
|
// one CHAR for the null terminator.
|
||||||
|
//
|
||||||
|
// NOTE: to determine the size of this structure use
|
||||||
|
// ASCII: sizeof(EVERYTHING_IPC_QUERYA) - sizeof(CHAR) + strlen(search_string)*sizeof(CHAR) + sizeof(CHAR)
|
||||||
|
// UNICODE: sizeof(EVERYTHING_IPC_QUERYW) - sizeof(WCHAR) + unicode_length_in_wchars(search_string)*sizeof(WCHAR) + sizeof(WCHAR)
|
||||||
|
//
|
||||||
|
// NOTE: Everything will only do one query per window.
|
||||||
|
// Sending another query when a query has not completed
|
||||||
|
// will cancel the old query and start the new one.
|
||||||
|
//
|
||||||
|
// Everything will send the results to the reply_hwnd in the form of a
|
||||||
|
// WM_COPYDAYA message with the dwData value you specify.
|
||||||
|
//
|
||||||
|
// Everything will return TRUE if successful.
|
||||||
|
// returns FALSE if not supported.
|
||||||
|
//
|
||||||
|
// If you query with EVERYTHING_IPC_COPYDATAQUERYW, the results sent from Everything will be Unicode.
|
||||||
|
//
|
||||||
|
|
||||||
|
typedef struct EVERYTHING_IPC_QUERYW
|
||||||
|
{
|
||||||
|
// the window that will receive the new results.
|
||||||
|
INT32 reply_hwnd;
|
||||||
|
|
||||||
|
// the value to set the dwData member in the COPYDATASTRUCT struct
|
||||||
|
// sent by Everything when the query is complete.
|
||||||
|
INT32 reply_copydata_message;
|
||||||
|
|
||||||
|
// search flags (see EVERYTHING_MATCHCASE | EVERYTHING_MATCHWHOLEWORD | EVERYTHING_MATCHPATH)
|
||||||
|
INT32 search_flags;
|
||||||
|
|
||||||
|
// only return results after 'offset' results (0 to return the first result)
|
||||||
|
// useful for scrollable lists
|
||||||
|
INT32 offset;
|
||||||
|
|
||||||
|
// the number of results to return
|
||||||
|
// zero to return no results
|
||||||
|
// EVERYTHING_IPC_ALLRESULTS to return ALL results
|
||||||
|
INT32 max_results;
|
||||||
|
|
||||||
|
// null terminated string. arbitrary sized search_string buffer.
|
||||||
|
INT32 search_string[1];
|
||||||
|
|
||||||
|
}EVERYTHING_IPC_QUERYW;
|
||||||
|
|
||||||
|
// ASCII version
|
||||||
|
typedef struct EVERYTHING_IPC_QUERYA
|
||||||
|
{
|
||||||
|
// the window that will receive the new results.
|
||||||
|
INT32 reply_hwnd;
|
||||||
|
|
||||||
|
// the value to set the dwData member in the COPYDATASTRUCT struct
|
||||||
|
// sent by Everything when the query is complete.
|
||||||
|
INT32 reply_copydata_message;
|
||||||
|
|
||||||
|
// search flags (see EVERYTHING_MATCHCASE | EVERYTHING_MATCHWHOLEWORD | EVERYTHING_MATCHPATH)
|
||||||
|
INT32 search_flags;
|
||||||
|
|
||||||
|
// only return results after 'offset' results (0 to return the first result)
|
||||||
|
// useful for scrollable lists
|
||||||
|
INT32 offset;
|
||||||
|
|
||||||
|
// the number of results to return
|
||||||
|
// zero to return no results
|
||||||
|
// EVERYTHING_IPC_ALLRESULTS to return ALL results
|
||||||
|
INT32 max_results;
|
||||||
|
|
||||||
|
// null terminated string. arbitrary sized search_string buffer.
|
||||||
|
INT32 search_string[1];
|
||||||
|
|
||||||
|
}EVERYTHING_IPC_QUERYA;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Varible sized result list struct received from Everything.
|
||||||
|
//
|
||||||
|
// Sent in the form of a WM_COPYDATA message to the hwnd specifed in the
|
||||||
|
// EVERYTHING_IPC_QUERY struct.
|
||||||
|
// the dwData member of the COPYDATASTRUCT struct will match the sent
|
||||||
|
// reply_copydata_message member in the EVERYTHING_IPC_QUERY struct.
|
||||||
|
//
|
||||||
|
// make a copy of the data before returning.
|
||||||
|
//
|
||||||
|
// return TRUE if you processed the WM_COPYDATA message.
|
||||||
|
//
|
||||||
|
|
||||||
|
typedef struct EVERYTHING_IPC_ITEMW
|
||||||
|
{
|
||||||
|
// item flags
|
||||||
|
DWORD flags;
|
||||||
|
|
||||||
|
// The offset of the filename from the beginning of the list structure.
|
||||||
|
// (wchar_t *)((char *)everything_list + everythinglist->name_offset)
|
||||||
|
DWORD filename_offset;
|
||||||
|
|
||||||
|
// The offset of the filename from the beginning of the list structure.
|
||||||
|
// (wchar_t *)((char *)everything_list + everythinglist->path_offset)
|
||||||
|
DWORD path_offset;
|
||||||
|
|
||||||
|
}EVERYTHING_IPC_ITEMW;
|
||||||
|
|
||||||
|
typedef struct EVERYTHING_IPC_ITEMA
|
||||||
|
{
|
||||||
|
// item flags
|
||||||
|
DWORD flags;
|
||||||
|
|
||||||
|
// The offset of the filename from the beginning of the list structure.
|
||||||
|
// (char *)((char *)everything_list + everythinglist->name_offset)
|
||||||
|
DWORD filename_offset;
|
||||||
|
|
||||||
|
// The offset of the filename from the beginning of the list structure.
|
||||||
|
// (char *)((char *)everything_list + everythinglist->path_offset)
|
||||||
|
DWORD path_offset;
|
||||||
|
|
||||||
|
}EVERYTHING_IPC_ITEMA;
|
||||||
|
|
||||||
|
typedef struct EVERYTHING_IPC_LISTW
|
||||||
|
{
|
||||||
|
// the total number of folders found.
|
||||||
|
DWORD totfolders;
|
||||||
|
|
||||||
|
// the total number of files found.
|
||||||
|
DWORD totfiles;
|
||||||
|
|
||||||
|
// totfolders + totfiles
|
||||||
|
DWORD totitems;
|
||||||
|
|
||||||
|
// the number of folders available.
|
||||||
|
DWORD numfolders;
|
||||||
|
|
||||||
|
// the number of files available.
|
||||||
|
DWORD numfiles;
|
||||||
|
|
||||||
|
// the number of items available.
|
||||||
|
DWORD numitems;
|
||||||
|
|
||||||
|
// index offset of the first result in the item list.
|
||||||
|
DWORD offset;
|
||||||
|
|
||||||
|
// arbitrary sized item list.
|
||||||
|
// use numitems to determine the actual number of items available.
|
||||||
|
EVERYTHING_IPC_ITEMW items[1];
|
||||||
|
|
||||||
|
}EVERYTHING_IPC_LISTW;
|
||||||
|
|
||||||
|
typedef struct EVERYTHING_IPC_LISTA
|
||||||
|
{
|
||||||
|
// the total number of folders found.
|
||||||
|
DWORD totfolders;
|
||||||
|
|
||||||
|
// the total number of files found.
|
||||||
|
DWORD totfiles;
|
||||||
|
|
||||||
|
// totfolders + totfiles
|
||||||
|
DWORD totitems;
|
||||||
|
|
||||||
|
// the number of folders available.
|
||||||
|
DWORD numfolders;
|
||||||
|
|
||||||
|
// the number of files available.
|
||||||
|
DWORD numfiles;
|
||||||
|
|
||||||
|
// the number of items available.
|
||||||
|
DWORD numitems;
|
||||||
|
|
||||||
|
// index offset of the first result in the item list.
|
||||||
|
DWORD offset;
|
||||||
|
|
||||||
|
// arbitrary sized item list.
|
||||||
|
// use numitems to determine the actual number of items available.
|
||||||
|
EVERYTHING_IPC_ITEMA items[1];
|
||||||
|
|
||||||
|
}EVERYTHING_IPC_LISTA;
|
||||||
|
|
||||||
|
#ifdef UNICODE
|
||||||
|
#define EVERYTHING_IPC_COPYDATAQUERY EVERYTHING_IPC_COPYDATAQUERYW
|
||||||
|
#define EVERYTHING_IPC_ITEMFILENAME EVERYTHING_IPC_ITEMFILENAMEW
|
||||||
|
#define EVERYTHING_IPC_ITEMPATH EVERYTHING_IPC_ITEMPATHW
|
||||||
|
#define EVERYTHING_IPC_QUERY EVERYTHING_IPC_QUERYW
|
||||||
|
#define EVERYTHING_IPC_ITEM EVERYTHING_IPC_ITEMW
|
||||||
|
#define EVERYTHING_IPC_LIST EVERYTHING_IPC_LISTW
|
||||||
|
#else
|
||||||
|
#define EVERYTHING_IPC_COPYDATAQUERY EVERYTHING_IPC_COPYDATAQUERYA
|
||||||
|
#define EVERYTHING_IPC_ITEMFILENAME EVERYTHING_IPC_ITEMFILENAMEA
|
||||||
|
#define EVERYTHING_IPC_ITEMPATH EVERYTHING_IPC_ITEMPATHA
|
||||||
|
#define EVERYTHING_IPC_QUERY EVERYTHING_IPC_QUERYA
|
||||||
|
#define EVERYTHING_IPC_ITEM EVERYTHING_IPC_ITEMA
|
||||||
|
#define EVERYTHING_IPC_LIST EVERYTHING_IPC_LISTA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// restore packing
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
// end extern C
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // _EVERYTHING_H_
|
||||||
|
|
||||||
26
Plugins/Wox.Plugin.Everything/nativesrc/dll.sln
Normal file
26
Plugins/Wox.Plugin.Everything/nativesrc/dll.sln
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 2012
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dll", "dll.vcxproj", "{7C90030E-6EDB-445E-A61B-5540B7355C59}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Debug|Win32.ActiveCfg = Debug|x64
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Debug|Win32.Build.0 = Debug|x64
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{7C90030E-6EDB-445E-A61B-5540B7355C59}.Release|x64.Build.0 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
291
Plugins/Wox.Plugin.Everything/nativesrc/dll.vcxproj
Normal file
291
Plugins/Wox.Plugin.Everything/nativesrc/dll.vcxproj
Normal file
@@ -0,0 +1,291 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{7C90030E-6EDB-445E-A61B-5540B7355C59}</ProjectGuid>
|
||||||
|
<RootNamespace>dll</RootNamespace>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v90</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v90</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseOfMfc>false</UseOfMfc>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v90</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v90</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||||
|
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</IgnoreImportLibrary>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</IgnoreImportLibrary>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>BZ_NO_STDIO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<OutputFile>$(OutDir)Everything.dll</OutputFile>
|
||||||
|
<ModuleDefinitionFile>
|
||||||
|
</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<StackReserveSize>0</StackReserveSize>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||||
|
</Manifest>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<CompileAs>CompileAsC</CompileAs>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>ComCtl32.lib;UxTheme.lib;Ws2_32.lib;shlwapi.lib;ole32.lib;htmlhelp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<OutputFile>$(OutDir)Everything.dll</OutputFile>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ProgramDatabaseFile>$(OutDir)dll.pdb</ProgramDatabaseFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||||
|
</Manifest>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>
|
||||||
|
</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<OmitFramePointers>false</OmitFramePointers>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>BZ_NO_STDIO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>Sync</ExceptionHandling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<FloatingPointModel>Fast</FloatingPointModel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>
|
||||||
|
</DebugInformationFormat>
|
||||||
|
<CallingConvention>Cdecl</CallingConvention>
|
||||||
|
<CompileAs>CompileAsC</CompileAs>
|
||||||
|
</ClCompile>
|
||||||
|
<PreLinkEvent>
|
||||||
|
<Command>
|
||||||
|
</Command>
|
||||||
|
</PreLinkEvent>
|
||||||
|
<ProjectReference>
|
||||||
|
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||||
|
</ProjectReference>
|
||||||
|
<Link>
|
||||||
|
<ShowProgress>NotSet</ShowProgress>
|
||||||
|
<OutputFile>$(OutDir)Everything.dll</OutputFile>
|
||||||
|
<AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<ModuleDefinitionFile>everything.def</ModuleDefinitionFile>
|
||||||
|
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||||
|
<GenerateMapFile>true</GenerateMapFile>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<StackReserveSize>0</StackReserveSize>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<LinkTimeCodeGeneration>
|
||||||
|
</LinkTimeCodeGeneration>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||||
|
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||||
|
<VerboseOutput>false</VerboseOutput>
|
||||||
|
</Manifest>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Midl>
|
||||||
|
<TargetEnvironment>X64</TargetEnvironment>
|
||||||
|
</Midl>
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<OmitFramePointers>false</OmitFramePointers>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<ExceptionHandling>
|
||||||
|
</ExceptionHandling>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<FloatingPointModel>Fast</FloatingPointModel>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>
|
||||||
|
</DebugInformationFormat>
|
||||||
|
<CompileAs>CompileAsC</CompileAs>
|
||||||
|
</ClCompile>
|
||||||
|
<ProjectReference>
|
||||||
|
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||||
|
</ProjectReference>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>comctl32.lib;UxTheme.lib;Ws2_32.lib;HTMLHelp.lib;msimg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<ShowProgress>NotSet</ShowProgress>
|
||||||
|
<OutputFile>$(OutDir)Everything.dll</OutputFile>
|
||||||
|
<AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
|
||||||
|
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<LinkTimeCodeGeneration>
|
||||||
|
</LinkTimeCodeGeneration>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<Manifest>
|
||||||
|
<AdditionalManifestFiles>%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||||
|
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||||
|
<VerboseOutput>false</VerboseOutput>
|
||||||
|
</Manifest>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="Everything.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Everything.def" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Everything.h" />
|
||||||
|
<ClInclude Include="Everything_IPC.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
||||||
27
Plugins/Wox.Plugin.Everything/nativesrc/dll.vcxproj.filters
Normal file
27
Plugins/Wox.Plugin.Everything/nativesrc/dll.vcxproj.filters
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="src">
|
||||||
|
<UniqueIdentifier>{072e536f-0b4e-4b52-bbf4-45486ca2a90b}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="Everything.c">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Everything.def">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Everything.h">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Everything_IPC.h">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
4
Plugins/Wox.Plugin.Everything/packages.config
Normal file
4
Plugins/Wox.Plugin.Everything/packages.config
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net35" />
|
||||||
|
</packages>
|
||||||
12
Plugins/Wox.Plugin.Everything/plugin.json
Normal file
12
Plugins/Wox.Plugin.Everything/plugin.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"ID":"D2D2C23B084D411DB66FE0C79D6C2A6E",
|
||||||
|
"ActionKeyword":"f",
|
||||||
|
"Name":"Everything",
|
||||||
|
"Description":"Search Everything",
|
||||||
|
"Author":"qianlifeng,orzfly",
|
||||||
|
"Version":"1.1.0",
|
||||||
|
"Language":"csharp",
|
||||||
|
"Website":"http://www.getwox.com",
|
||||||
|
"IcoPath":"Images\\find.png",
|
||||||
|
"ExecuteFileName":"Wox.Plugin.Everything.dll"
|
||||||
|
}
|
||||||
BIN
Plugins/Wox.Plugin.Everything/x86/Everything.dll
Normal file
BIN
Plugins/Wox.Plugin.Everything/x86/Everything.dll
Normal file
Binary file not shown.
Reference in New Issue
Block a user