Skip to content

Commit

Permalink
Merge pull request #1 from anpho/master
Browse files Browse the repository at this point in the history
1.0 public beta
  • Loading branch information
MerrickZ authored Dec 15, 2021
2 parents 2b042a5 + 3fe0162 commit 6a0d281
Show file tree
Hide file tree
Showing 28 changed files with 1,564 additions and 1 deletion.
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,24 @@
# WindowsExplorerExtension
some extensions for windows explorer, tested on windows 10+
Extensions for windows explorer, tested on windows 10 & windows 11.

### New Folder Extension

**What's This**

A Gnome nautilus inspired feature that when you selected several files/folders then right click, create a new folder, all the selected files/folders will be moved to a new folder which folder name is based on the common part of each file's filename.

**How to Install**

Go to ```Releases``` and download the file ExplorerExtension.dll, open some terminal in *Administrator Mode*, then use ```regsvr32 dllpath``` to register it.

**How to Use**

Select some files/folders, right click, choose ```New Folder +```.

### Other Extensions

Under development.

### Contact

[Twitter](https://twitter.com/anpho)
Binary file added dist/NewFolderExtension/ExplorerEnhancement.exp
Binary file not shown.
Binary file added dist/NewFolderExtension/ExplorerEnhancement.pdb
Binary file not shown.
49 changes: 49 additions & 0 deletions src/ExplorerEnhancement.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerEnhancement", "ExplorerEnhancement\ExplorerEnhancement.vcxproj", "{040359DD-8646-46DB-9F86-D04B6A80705E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|Any CPU.ActiveCfg = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|Any CPU.Build.0 = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|ARM.ActiveCfg = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|ARM.Build.0 = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|ARM64.ActiveCfg = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|ARM64.Build.0 = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|x64.ActiveCfg = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|x64.Build.0 = Debug|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|x86.ActiveCfg = Debug|Win32
{040359DD-8646-46DB-9F86-D04B6A80705E}.Debug|x86.Build.0 = Debug|Win32
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|Any CPU.ActiveCfg = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|Any CPU.Build.0 = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|ARM.ActiveCfg = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|ARM.Build.0 = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|ARM64.ActiveCfg = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|ARM64.Build.0 = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|x64.ActiveCfg = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|x64.Build.0 = Release|x64
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|x86.ActiveCfg = Release|Win32
{040359DD-8646-46DB-9F86-D04B6A80705E}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1DCB3F52-0D43-4653-A933-6A9A6F86719B}
EndGlobalSection
EndGlobal
26 changes: 26 additions & 0 deletions src/ExplorerEnhancement/AppxManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
IgnorableNamespaces="uap uap2 uap3 rescap desktop uap10">
<Identity Name="NewFolderExtension" ProcessorArchitecture="x64" Publisher="CN=anpho" Version="1.0.0.0" />
<Properties>
<DisplayName>NewFolderExtension</DisplayName>
<PublisherDisplayName>anpho</PublisherDisplayName>
<Logo>logo.png</Logo>
<uap10:AllowExternalContent>true</uap10:AllowExternalContent>
</Properties>
<Resources>
<Resource Language="en-us" />
<Resource Language="zh-cn" />
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.19000.0" MaxVersionTested="10.0.19000.0" />
</Dependencies>

</Package>
Binary file added src/ExplorerEnhancement/ExplorerEnhancement.aps
Binary file not shown.
74 changes: 74 additions & 0 deletions src/ExplorerEnhancement/ExplorerEnhancement.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// ExplorerEnhancement.cpp: DLL 导出的实现。


#include "pch.h"
#include "framework.h"
#include "resource.h"
#include "ExplorerEnhancement_i.h"
#include "dllmain.h"


using namespace ATL;

// 用于确定 DLL 是否可由 OLE 卸载。
_Use_decl_annotations_
STDAPI DllCanUnloadNow(void)
{
return _AtlModule.DllCanUnloadNow();
}

// 返回一个类工厂以创建所请求类型的对象。
_Use_decl_annotations_
STDAPI DllGetClassObject(_In_ REFCLSID rclsid, _In_ REFIID riid, _Outptr_ LPVOID* ppv)
{
return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}

// DllRegisterServer - 向系统注册表中添加项。
_Use_decl_annotations_
STDAPI DllRegisterServer(void)
{
// 注册对象、类型库和类型库中的所有接口
HRESULT hr = _AtlModule.DllRegisterServer();
return hr;
}

// DllUnregisterServer - 移除系统注册表中的项。
_Use_decl_annotations_
STDAPI DllUnregisterServer(void)
{
HRESULT hr = _AtlModule.DllUnregisterServer();
return hr;
}

// DllInstall - 按用户和计算机在系统注册表中逐一添加/移除项。
STDAPI DllInstall(BOOL bInstall, _In_opt_ LPCWSTR pszCmdLine)
{
HRESULT hr = E_FAIL;
static const wchar_t szUserSwitch[] = L"user";

if (pszCmdLine != nullptr)
{
if (_wcsnicmp(pszCmdLine, szUserSwitch, _countof(szUserSwitch)) == 0)
{
ATL::AtlSetPerUserRegistration(true);
}
}

if (bInstall)
{
hr = DllRegisterServer();
if (FAILED(hr))
{
DllUnregisterServer();
}
}
else
{
hr = DllUnregisterServer();
}

return hr;
}


10 changes: 10 additions & 0 deletions src/ExplorerEnhancement/ExplorerEnhancement.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
; ExplorerEnhancement.def: 声明模块参数。

LIBRARY

EXPORTS
DllCanUnloadNow PRIVATE
DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
DllInstall PRIVATE
34 changes: 34 additions & 0 deletions src/ExplorerEnhancement/ExplorerEnhancement.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// ExplorerEnhancement.idl: ExplorerEnhancement 的 IDL 源
//

// 此文件将由 MIDL 工具处理以
// 生成类型库(ExplorerEnhancement.tlb)和封送处理代码。

import "oaidl.idl";
import "ocidl.idl";

[
object,
uuid(be2e806b-f1ab-422f-89f7-8cd07f269cfc),
pointer_default(unique)
]
interface INewFolderExt : IUnknown
{
};
[
uuid(ad8e9b75-e82e-4c6a-830b-4acf8c407d6c),
version(1.0),
]
library ExplorerEnhancementLib
{
importlib("stdole2.tlb");
[
uuid(c36a65af-0a1e-4e09-9729-6da3e4e4461a)
]
coclass NewFolderExt
{
[default] interface INewFolderExt;
};
};

import "shobjidl.idl";
Binary file added src/ExplorerEnhancement/ExplorerEnhancement.rc
Binary file not shown.
3 changes: 3 additions & 0 deletions src/ExplorerEnhancement/ExplorerEnhancement.rgs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
HKCR
{
}
Loading

0 comments on commit 6a0d281

Please sign in to comment.