Explorer integration seems to work

- but: may not usable together with default 7-Zip iNSTALLATION
- I will fix this ...
- updated Readme to fit new Version...
This commit is contained in:
Tino Reichardt
2016-09-04 17:31:51 +02:00
parent 0b3f10720c
commit ec25a9576b
10 changed files with 82 additions and 21 deletions

11
C/7zVersionTr.h Normal file
View File

@@ -0,0 +1,11 @@
#define MY_VER_MAJOR 1
#define MY_VER_MINOR 0
#define MY_VER_BUILD 1
#define MY_VERSION_NUMBERS "1.0.1"
#define MY_VERSION "1.0.1"
#define MY_DATE "2016-09-04"
#undef MY_COPYRIGHT
#undef MY_VERSION_COPYRIGHT_DATE
#define MY_AUTHOR_NAME "Tino Reichardt"
#define MY_COPYRIGHT "Copyright (c) 2016 Tino Reichardt"
#define MY_VERSION_COPYRIGHT_DATE MY_VERSION " : " MY_COPYRIGHT " : " MY_DATE

View File

@@ -68,7 +68,7 @@ static const WCHAR *k_Reg_Path32 = L"Path"
#define k_Reg_WOW_Flag_32 0 #define k_Reg_WOW_Flag_32 0
#endif #endif
#define k_7zip_CLSID L"{23170F69-40C1-0803-0409-000100020000}" #define k_7zip_CLSID L"{23170F69-40C1-278A-1000-000100020001}"
static const WCHAR *k_Reg_CLSID_7zip = L"CLSID\\" k_7zip_CLSID; static const WCHAR *k_Reg_CLSID_7zip = L"CLSID\\" k_7zip_CLSID;
static const WCHAR *k_Reg_CLSID_7zip_Inproc = L"CLSID\\" k_7zip_CLSID L"\\InprocServer32"; static const WCHAR *k_Reg_CLSID_7zip_Inproc = L"CLSID\\" k_7zip_CLSID L"\\InprocServer32";

View File

@@ -62,7 +62,7 @@ static const WCHAR *k_Reg_Path32 = L"Path"
#define k_Reg_WOW_Flag_32 0 #define k_Reg_WOW_Flag_32 0
#endif #endif
#define k_7zip_CLSID L"{23170F69-40C1-0803-0409-000100020000}" #define k_7zip_CLSID L"{23170F69-40C1-278A-1000-000100020001}"
static const WCHAR *k_Reg_CLSID_7zip = L"CLSID\\" k_7zip_CLSID; static const WCHAR *k_Reg_CLSID_7zip = L"CLSID\\" k_7zip_CLSID;
static const WCHAR *k_Reg_CLSID_7zip_Inproc = L"CLSID\\" k_7zip_CLSID L"\\InprocServer32"; static const WCHAR *k_Reg_CLSID_7zip_Inproc = L"CLSID\\" k_7zip_CLSID L"\\InprocServer32";

View File

@@ -1,4 +1,5 @@
#include "../../MyVersionInfo.rc" #include "../../../../C/7zVersionTr.h"
#include "../../../../C/7zVersion.rc"
MY_VERSION_INFO_DLL("7z ZStandard Plugin", "zstd") MY_VERSION_INFO_DLL("7z ZStandard Plugin", "zstd")

View File

@@ -1,4 +1,5 @@
#include "../../MyVersionInfo.rc" #include "../../../../C/7zVersionTr.h"
#include "../../../../C/7zVersion.rc"
MY_VERSION_INFO_DLL("7z ZStandard Plugin", "zstd") MY_VERSION_INFO_DLL("7z ZStandard Plugin", "zstd")

View File

@@ -768,7 +768,7 @@ STDMETHODIMP CZipContextMenu::QueryContextMenu(HMENU hMenu, UINT indexMenu,
mi.fMask |= MIIM_CHECKMARKS; mi.fMask |= MIIM_CHECKMARKS;
mi.wID = currentCommandID++; mi.wID = currentCommandID++;
mi.hSubMenu = popupMenu.Detach(); mi.hSubMenu = popupMenu.Detach();
mi.StringValue.SetFromAscii("7-Zip"); // LangString(IDS_CONTEXT_POPUP_CAPTION); mi.StringValue.SetFromAscii("7-Zip-ZStandard"); // LangString(IDS_CONTEXT_POPUP_CAPTION);
mi.hbmpUnchecked = bitmap; mi.hbmpUnchecked = bitmap;
CMenu menu; CMenu menu;

View File

@@ -25,17 +25,17 @@
#include "ContextMenu.h" #include "ContextMenu.h"
static LPCTSTR k_ShellExtName = TEXT("7-Zip Shell Extension"); static LPCTSTR k_ShellExtName = TEXT("7-Zip-ZStandard Shell Extension");
static LPCTSTR k_Approved = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"); static LPCTSTR k_Approved = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved");
// {23170F69-40C1-0803-0409-000100020000} // {23170F69-40C1-278A-1000-000100020000}
static LPCTSTR k_Clsid = TEXT("{23170F69-40C1-0803-0409-000100020000}"); static LPCTSTR k_Clsid = TEXT("{23170F69-40C1-278A-1000-000100020001}");
DEFINE_GUID(CLSID_CZipContextMenu, DEFINE_GUID(CLSID_CZipContextMenu,
k_7zip_GUID_Data1, k_7zip_GUID_Data1,
k_7zip_GUID_Data2, k_7zip_GUID_Data2,
k_7zip_GUID_Data3_Common, k_7zip_GUID_Data3_Common,
0x10, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00); 0x10, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01);
using namespace NWindows; using namespace NWindows;

View File

@@ -13,7 +13,7 @@ using namespace NWindows;
void ShowErrorMessage(HWND window, LPCWSTR message) void ShowErrorMessage(HWND window, LPCWSTR message)
{ {
::MessageBoxW(window, message, L"7-Zip", MB_OK | MB_ICONSTOP); ::MessageBoxW(window, message, L"7-Zip-ZStandard", MB_OK | MB_ICONSTOP);
} }
void ShowErrorMessageHwndRes(HWND window, UINT resID) void ShowErrorMessageHwndRes(HWND window, UINT resID)

View File

@@ -17,14 +17,14 @@ using namespace NRegistry;
// CLISID (and Approved ?) items are separated for 32-bit and 64-bit code. // CLISID (and Approved ?) items are separated for 32-bit and 64-bit code.
// shellex items shared by 32-bit and 64-bit code? // shellex items shared by 32-bit and 64-bit code?
static LPCTSTR k_Clsid = TEXT("{23170F69-40C1-278A-1000-000100020000}"); static LPCTSTR k_Clsid = TEXT("{23170F69-40C1-278A-1000-000100020001}");
static LPCTSTR k_ShellExtName = TEXT("7-Zip Shell Extension"); static LPCTSTR k_ShellExtName = TEXT("7-Zip Shell Extension");
static LPCTSTR k_Approved = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"); static LPCTSTR k_Approved = TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved");
static LPCTSTR k_Inproc = TEXT("InprocServer32"); static LPCTSTR k_Inproc = TEXT("InprocServer32");
static LPCTSTR k_KeyPostfix_ContextMenu = TEXT("\\shellex\\ContextMenuHandlers\\7-Zip"); static LPCTSTR k_KeyPostfix_ContextMenu = TEXT("\\shellex\\ContextMenuHandlers\\7-Zip-ZStandard");
static LPCTSTR k_KeyPostfix_DragDrop = TEXT("\\shellex\\DragDropHandlers\\7-Zip"); static LPCTSTR k_KeyPostfix_DragDrop = TEXT("\\shellex\\DragDropHandlers\\7-Zip-ZStandard");
static LPCTSTR k_KeyName_File = TEXT("*"); static LPCTSTR k_KeyName_File = TEXT("*");
static LPCTSTR k_KeyName_Folder = TEXT("Folder"); static LPCTSTR k_KeyName_Folder = TEXT("Folder");

View File

@@ -13,12 +13,50 @@ You can install it in two ways:
## 7-Zip ZStandard Edition (full setup, with GUI and Explorer integration) ## 7-Zip ZStandard Edition (full setup, with GUI and Explorer integration)
### Installation ### Installation (via setup)
1. download the setup from here [7z1602-zstd-x32.exe](https://mcmilk.de/projects/7-Zip-zstd/dl/7z1602-zstd-x32.exe) 1. download the setup from here [7z1602-zstd-x32.exe](https://mcmilk.de/projects/7-Zip-zstd/dl/7z1602-zstd-x32.exe)
(32 bit) or here [7z1602-zstd-x64.exe](https://mcmilk.de/projects/7-Zip-zstd/dl/7z1602-zstd-x64.exe) (64 bit) (32 bit) or here [7z1602-zstd-x64.exe](https://mcmilk.de/projects/7-Zip-zstd/dl/7z1602-zstd-x64.exe) (64 bit)
2. install it, like the default 7-Zip 2. install it, like the default 7-Zip
3. use it ;) 3. use it ;)
4. you may check, if the 7-Zip can deal with ZStandard via this command: `7z.exe i`
The output should look like this:
```
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-06-12
Libs:
0 c:\Program Files\7-Zip-ZStandard\7z.dll
...
Codecs:
0 4ED 303011B BCJ2
0 ED 3030103 BCJ
0 ED 3030205 PPC
0 ED 3030401 IA64
0 ED 3030501 ARM
0 ED 3030701 ARMT
0 ED 3030805 SPARC
0 ED 20302 Swap2
0 ED 20304 Swap4
0 ED 40202 BZip2
0 ED 0 Copy
0 ED 40109 Deflate64
0 ED 40108 Deflate
0 ED 3 Delta
0 ED 21 LZMA2
0 ED 30101 LZMA
0 ED 30401 PPMD
0 D 40301 Rar1
0 D 40302 Rar2
0 D 40303 Rar3
0 D 40305 Rar5
0 ED 4F71101 ZSTD <-- NEW
0 ED 6F10701 7zAES
0 ED 6F00181 AES256CBC
```
### Usage (full installation) ### Usage (full installation)
@@ -35,7 +73,7 @@ You can install it in two ways:
## ZStandard codec Plugin for 7-Zip ## ZStandard codec Plugin for 7-Zip
### Installation ### Installation (via plugin)
1. download the codec archiv from https://mcmilk.de/projects/7-Zip-zstd/dl/Codecs.7z 1. download the codec archiv from https://mcmilk.de/projects/7-Zip-zstd/dl/Codecs.7z
2. create a new directory named "Codecs" 2. create a new directory named "Codecs"
@@ -46,8 +84,16 @@ You can install it in two ways:
The output should look like this: The output should look like this:
``` ```
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-06-12
Libs:
0 c:\Program Files\7-Zip\7z.dll
1 c:\Program Files\7-Zip\Codecs\zstd-x64.dll
...
Codecs: Codecs:
0 ED 40202 BZip2
0 4ED 303011B BCJ2 0 4ED 303011B BCJ2
0 ED 3030103 BCJ 0 ED 3030103 BCJ
0 ED 3030205 PPC 0 ED 3030205 PPC
@@ -57,6 +103,7 @@ Codecs:
0 ED 3030805 SPARC 0 ED 3030805 SPARC
0 ED 20302 Swap2 0 ED 20302 Swap2
0 ED 20304 Swap4 0 ED 20304 Swap4
0 ED 40202 BZip2
0 ED 0 Copy 0 ED 0 Copy
0 ED 40109 Deflate64 0 ED 40109 Deflate64
0 ED 40108 Deflate 0 ED 40108 Deflate
@@ -64,12 +111,12 @@ Codecs:
0 ED 21 LZMA2 0 ED 21 LZMA2
0 ED 30101 LZMA 0 ED 30101 LZMA
0 ED 30401 PPMD 0 ED 30401 PPMD
0 D 40301 Rar1
0 D 40302 Rar2
0 D 40303 Rar3
0 D 40305 Rar5
0 ED 6F10701 7zAES 0 ED 6F10701 7zAES
0 ED 6F00181 AES256CBC 0 ED 6F00181 AES256CBC
1 D 40301 Rar1
1 D 40302 Rar2
1 D 40303 Rar3
1 D 40305 Rar5
1 ED 4F71101 ZSTD <-- NEW 1 ED 4F71101 ZSTD <-- NEW
``` ```
@@ -100,4 +147,5 @@ Codecs:
- the same as the original 7-Zip, which means GNU LGPL - the same as the original 7-Zip, which means GNU LGPL
/TR 2016-08-16
/TR 2016-09-04 (ZStandard Version 1.0.1)