diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..940794e --- /dev/null +++ b/.gitignore @@ -0,0 +1,288 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# 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 +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# 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 +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Typescript v1 declaration files +typings/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs diff --git a/CBXManager/CBXManager.vcxproj b/CBXManager/CBXManager.vcxproj new file mode 100644 index 0000000..efa7272 --- /dev/null +++ b/CBXManager/CBXManager.vcxproj @@ -0,0 +1,285 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {D3E3653C-61EC-4AC8-A283-F9784128948C} + CBXManager + 8.1 + + + + Application + v141_xp + Unicode + true + + + Application + v141_xp + Unicode + + + Application + v141_xp + Unicode + true + + + Application + v141_xp + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.26419.1 + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + MinimumRecommendedRules.ruleset + + + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + MinimumRecommendedRules.ruleset + + + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + MinimumRecommendedRules.ruleset + + + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + MinimumRecommendedRules.ruleset + + + + + + _DEBUG;%(PreprocessorDefinitions) + false + Win32 + true + $(IntDir)CBXManager.tlb + CBXManager.h + + CBXManager_i.c + CBXManager_p.c + + + Disabled + WIN32;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + Level3 + EditAndContinue + packages\wtl.9.1.1\lib\native\include + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + true + Windows + MachineX86 + + + + + _DEBUG;%(PreprocessorDefinitions) + false + X64 + true + $(IntDir)CBXManager.tlb + CBXManager.h + + CBXManager_i.c + CBXManager_p.c + + + Disabled + WIN32;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + Level3 + ProgramDatabase + packages\wtl.9.1.1\lib\native\include + + + _DEBUG;_WIN64;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + true + Windows + MachineX64 + + + + + NDEBUG;%(PreprocessorDefinitions) + false + Win32 + true + $(IntDir)CBXManager.tlb + CBXManager.h + + CBXManager_i.c + CBXManager_p.c + + + MinSpace + OnlyExplicitInline + Size + true + true + true + WIN32;_WINDOWS;STRICT;NDEBUG;%(PreprocessorDefinitions) + Sync + MultiThreaded + true + Use + Level3 + + packages\wtl.9.1.1\lib\native\include + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + Windows + true + true + MachineX86 + + + + + NDEBUG;%(PreprocessorDefinitions) + false + X64 + true + $(IntDir)CBXManager.tlb + CBXManager.h + + CBXManager_i.c + CBXManager_p.c + + + MinSpace + OnlyExplicitInline + Size + true + true + true + WIN32;_WINDOWS;STRICT;NDEBUG;%(PreprocessorDefinitions) + Sync + MultiThreaded + true + Use + Level3 + + packages\wtl.9.1.1\lib\native\include + + + NDEBUG;_WIN64;%(PreprocessorDefinitions) + 0x0409 + $(IntDir);%(AdditionalIncludeDirectories) + + + Windows + true + true + MachineX64 + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。 + + + + \ No newline at end of file diff --git a/CBXManager/CBXManager.vcxproj.filters b/CBXManager/CBXManager.vcxproj.filters new file mode 100644 index 0000000..7cc0d79 --- /dev/null +++ b/CBXManager/CBXManager.vcxproj.filters @@ -0,0 +1,61 @@ + + + + + {45425ad2-eec5-4f3f-8c27-3ac973147683} + cpp;c;cxx;def;odl;idl;hpj;bat;asm + + + {e15c04db-5cfb-4286-8e9f-3b74192a4f8a} + h;hpp;hxx;hm;inl;inc + + + {897ff7a1-bf05-4798-8cb3-dacf940220de} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;jpg;jpeg;jpe;manifest + + + + + Source Files + + + Source Files + + + dialog + + + + + Source Files + + + Source Files + + + dialog + + + dialog + + + dialog + + + Resource Files + + + + + Resource Files + + + + + Resource Files + + + + + + \ No newline at end of file diff --git a/CBXManager/packages.config b/CBXManager/packages.config new file mode 100644 index 0000000..a518177 --- /dev/null +++ b/CBXManager/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/CBXManager/stdafx.h b/CBXManager/stdafx.h index c9ec03d..eb8ded4 100644 --- a/CBXManager/stdafx.h +++ b/CBXManager/stdafx.h @@ -31,7 +31,7 @@ } }; -#include +#include "atlapp.h" extern CAppModule _Module; diff --git a/CBXShell.sln b/CBXShell.sln new file mode 100644 index 0000000..86814b3 --- /dev/null +++ b/CBXShell.sln @@ -0,0 +1,38 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26430.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CBXShell", "CBXShell\CBXShell.vcxproj", "{1A108438-5306-4026-B269-41BAA61ACCB3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CBXManager", "CBXManager\CBXManager.vcxproj", "{D3E3653C-61EC-4AC8-A283-F9784128948C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1A108438-5306-4026-B269-41BAA61ACCB3}.Debug|x64.ActiveCfg = Debug|x64 + {1A108438-5306-4026-B269-41BAA61ACCB3}.Debug|x64.Build.0 = Debug|x64 + {1A108438-5306-4026-B269-41BAA61ACCB3}.Debug|x86.ActiveCfg = Debug|Win32 + {1A108438-5306-4026-B269-41BAA61ACCB3}.Debug|x86.Build.0 = Debug|Win32 + {1A108438-5306-4026-B269-41BAA61ACCB3}.Release|x64.ActiveCfg = Release|x64 + {1A108438-5306-4026-B269-41BAA61ACCB3}.Release|x64.Build.0 = Release|x64 + {1A108438-5306-4026-B269-41BAA61ACCB3}.Release|x86.ActiveCfg = Release|Win32 + {1A108438-5306-4026-B269-41BAA61ACCB3}.Release|x86.Build.0 = Release|Win32 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Debug|x64.ActiveCfg = Debug|x64 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Debug|x64.Build.0 = Debug|x64 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Debug|x86.ActiveCfg = Debug|Win32 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Debug|x86.Build.0 = Debug|Win32 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Release|x64.ActiveCfg = Release|x64 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Release|x64.Build.0 = Release|x64 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Release|x86.ActiveCfg = Release|Win32 + {D3E3653C-61EC-4AC8-A283-F9784128948C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CBXShell/CBXShell.h b/CBXShell/CBXShell.h new file mode 100644 index 0000000..e2a109e --- /dev/null +++ b/CBXShell/CBXShell.h @@ -0,0 +1,215 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 7.00.0555 */ +/* at Sun Jul 16 22:30:47 2017 + */ +/* Compiler settings for CBXShell.idl: + Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __CBXShell_h__ +#define __CBXShell_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __ICBXShell_FWD_DEFINED__ +#define __ICBXShell_FWD_DEFINED__ +typedef interface ICBXShell ICBXShell; +#endif /* __ICBXShell_FWD_DEFINED__ */ + + +#ifndef __CBXShell_FWD_DEFINED__ +#define __CBXShell_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class CBXShell CBXShell; +#else +typedef struct CBXShell CBXShell; +#endif /* __cplusplus */ + +#endif /* __CBXShell_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +#ifndef __ICBXShell_INTERFACE_DEFINED__ +#define __ICBXShell_INTERFACE_DEFINED__ + +/* interface ICBXShell */ +/* [unique][helpstring][dual][uuid][object] */ + + +EXTERN_C const IID IID_ICBXShell; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("677D0B3B-E0A8-4ECC-BD7E-1BCC96E388EA") + ICBXShell : public IDispatch + { + public: + }; + +#else /* C style interface */ + + typedef struct ICBXShellVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICBXShell * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICBXShell * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ICBXShell * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + ICBXShell * This, + /* [out] */ UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + ICBXShell * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + ICBXShell * This, + /* [in] */ REFIID riid, + /* [size_is][in] */ LPOLESTR *rgszNames, + /* [range][in] */ UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + ICBXShell * This, + /* [in] */ DISPID dispIdMember, + /* [in] */ REFIID riid, + /* [in] */ LCID lcid, + /* [in] */ WORD wFlags, + /* [out][in] */ DISPPARAMS *pDispParams, + /* [out] */ VARIANT *pVarResult, + /* [out] */ EXCEPINFO *pExcepInfo, + /* [out] */ UINT *puArgErr); + + END_INTERFACE + } ICBXShellVtbl; + + interface ICBXShell + { + CONST_VTBL struct ICBXShellVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICBXShell_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICBXShell_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICBXShell_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICBXShell_GetTypeInfoCount(This,pctinfo) \ + ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) + +#define ICBXShell_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ + ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) + +#define ICBXShell_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ + ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) + +#define ICBXShell_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ + ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICBXShell_INTERFACE_DEFINED__ */ + + + +#ifndef __CBXSHELLLib_LIBRARY_DEFINED__ +#define __CBXSHELLLib_LIBRARY_DEFINED__ + +/* library CBXSHELLLib */ +/* [helpstring][version][uuid] */ + + +EXTERN_C const IID LIBID_CBXSHELLLib; + +EXTERN_C const CLSID CLSID_CBXShell; + +#ifdef __cplusplus + +class DECLSPEC_UUID("9E6ECB90-5A61-42BD-B851-D3297D9C7F39") +CBXShell; +#endif +#endif /* __CBXSHELLLib_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/CBXShell/CBXShell.vcxproj b/CBXShell/CBXShell.vcxproj new file mode 100644 index 0000000..8999033 --- /dev/null +++ b/CBXShell/CBXShell.vcxproj @@ -0,0 +1,314 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {1A108438-5306-4026-B269-41BAA61ACCB3} + CBXShell + AtlProj + 8.1 + + + + DynamicLibrary + v141_xp + false + false + Unicode + true + + + DynamicLibrary + v141_xp + false + Unicode + + + DynamicLibrary + v141_xp + false + false + Unicode + true + + + DynamicLibrary + v141_xp + false + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.26419.1 + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + MinimumRecommendedRules.ruleset + + + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + MinimumRecommendedRules.ruleset + + + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + MinimumRecommendedRules.ruleset + + + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + MinimumRecommendedRules.ruleset + + + + + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + Level3 + true + EditAndContinue + packages\wtl.9.1.1\lib\native\include + + + _DEBUG;%(PreprocessorDefinitions) + 0x041a + + + true + .\CBXShell.def + true + Windows + false + MachineX86 + + + true + .\Debug/CBXShell.bsc + + + + + X64 + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + Level3 + true + ProgramDatabase + packages\wtl.9.1.1\lib\native\include + + + _DEBUG;_WIN64;%(PreprocessorDefinitions) + 0x041a + + + true + .\CBXShell.def + true + Windows + false + MachineX64 + + + true + .\Debug/CBXShell.bsc + + + + + + + + MaxSpeed + AnySuitable + true + Speed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + Level3 + true + packages\wtl.9.1.1\lib\native\include + + + NDEBUG;%(PreprocessorDefinitions) + 0x041a + + + true + .\CBXShell.def + Windows + true + true + true + MachineX86 + + + true + .\Release/CBXShell.bsc + + + + + X64 + + + + MaxSpeed + AnySuitable + true + Speed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + Level3 + true + packages\wtl.9.1.1\lib\native\include + + + NDEBUG;_WIN64;%(PreprocessorDefinitions) + 0x041a + + + true + .\CBXShell.def + Windows + true + true + true + MachineX64 + + + true + .\Release/CBXShell.bsc + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + + $(OUTDIR);%(AdditionalIncludeDirectories) + $(OUTDIR);%(AdditionalIncludeDirectories) + $(OUTDIR);%(AdditionalIncludeDirectories) + $(OUTDIR);%(AdditionalIncludeDirectories) + + + + + + + + + + true + .\CBXShell.tlb + CBXShell.h + CBXShell_i.c + true + .\CBXShell.tlb + CBXShell.h + CBXShell_i.c + true + .\CBXShell.tlb + CBXShell.h + CBXShell_i.c + true + .\CBXShell.tlb + CBXShell.h + CBXShell_i.c + + + + + + + + + このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。 + + + + \ No newline at end of file diff --git a/CBXShell/CBXShell.vcxproj.filters b/CBXShell/CBXShell.vcxproj.filters new file mode 100644 index 0000000..4673290 --- /dev/null +++ b/CBXShell/CBXShell.vcxproj.filters @@ -0,0 +1,75 @@ + + + + + {a2152652-25c3-4e19-be72-348ef0d71a59} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {273fdec6-dec0-4001-92c7-f3fc4017eb90} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + {bfe08d86-a8d3-4230-806f-baf1db1ed3e1} + + + {54a40bde-95f3-49d8-ad0a-0874355d7b6c} + + + + + Source Files + + + Source Files + + + COM + + + CBX + + + + + Source Files + + + Source Files + + + Resource Files + + + COM + + + CBX + + + CBX + + + CBX + + + + + Resource Files + + + + + COM + + + COM + + + + + + COM + + + \ No newline at end of file diff --git a/CBXShell/StdAfx.cpp b/CBXShell/StdAfx.cpp index b39052a..1ed7be5 100644 --- a/CBXShell/StdAfx.cpp +++ b/CBXShell/StdAfx.cpp @@ -8,5 +8,3 @@ #include #include #endif - -#include diff --git a/CBXShell/cbxArchive.h b/CBXShell/cbxArchive.h index dba6bc1..07926d7 100644 --- a/CBXShell/cbxArchive.h +++ b/CBXShell/cbxArchive.h @@ -541,7 +541,7 @@ catch (...){ ATLTRACE("exception in IQueryInfo::GetInfoTip\n"); return S_FALSE;} private: inline BOOL GetFileSizeCrt(LPCTSTR pszFile, __int64 &fsize) { - _stat64 _s; + struct _stat64 _s; _s.st_size=0; if (0!=::_tstat64(pszFile, &_s)) return FALSE; fsize=_s.st_size; @@ -624,6 +624,34 @@ catch (...){ ATLTRACE("exception in IQueryInfo::GetInfoTip\n"); return S_FALSE;} return TRUE; } + static inline BOOL Draw( + CImage ci, + _In_ HDC hDestDC, + _In_ int xDest, + _In_ int yDest, + _In_ int nDestWidth, + _In_ int nDestHeight, + _In_ int xSrc, + _In_ int ySrc, + _In_ int nSrcWidth, + _In_ int nSrcHeight, + _In_ Gdiplus::InterpolationMode interpolationMode) throw() + { + Gdiplus::Bitmap bm((HBITMAP)ci, NULL); + if (bm.GetLastStatus() != Gdiplus::Ok) + { + return FALSE; + } + + Gdiplus::Graphics dcDst(hDestDC); + dcDst.SetInterpolationMode(interpolationMode); + + Gdiplus::Rect destRec(xDest, yDest, nDestWidth, nDestHeight); + + Gdiplus::Status status = dcDst.DrawImage(&bm, destRec, xSrc, ySrc, nSrcWidth, nSrcHeight, Gdiplus::Unit::UnitPixel); + + return status == Gdiplus::Ok; + } HBITMAP ThumbnailFromIStream(IStream* pIs, const LPSIZE pThumbSize) { @@ -656,7 +684,8 @@ catch (...){ ATLTRACE("exception in IQueryInfo::GetInfoTip\n"); return S_FALSE;} HBITMAP hbmpOld=hdcNew.SelectBitmap(hbmpNew); hdcNew.FillSolidRect(0,0, tw,th, RGB(255,255,255));//white background - ci.Draw(hdcNew, 0,0, tw,th, 0,0, ci.GetWidth(),ci.GetHeight());//too late for error checks + RECT rect = { 0,0, ci.GetWidth(),ci.GetHeight() }; + Draw(ci, hdcNew, 0, 0, tw, th, 0, 0, ci.GetWidth(), ci.GetHeight(), Gdiplus::InterpolationMode::InterpolationModeHighQualityBicubic);//too late for error checks hdcNew.SelectBitmap(hbmpOld); return hbmpNew.Detach(); diff --git a/CBXShell/packages.config b/CBXShell/packages.config new file mode 100644 index 0000000..a518177 --- /dev/null +++ b/CBXShell/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/CBXShell/unrar.h b/CBXShell/unrar.h index 83a6e21..19207d0 100644 --- a/CBXShell/unrar.h +++ b/CBXShell/unrar.h @@ -3,6 +3,7 @@ #pragma pack(1) +#define ERAR_SUCCESS 0 #define ERAR_END_ARCHIVE 10 #define ERAR_NO_MEMORY 11 #define ERAR_BAD_DATA 12 @@ -16,6 +17,8 @@ #define ERAR_SMALL_BUF 20 #define ERAR_UNKNOWN 21 #define ERAR_MISSING_PASSWORD 22 +#define ERAR_EREFERENCE 23 +#define ERAR_BAD_PASSWORD 24 #define RAR_OM_LIST 0 #define RAR_OM_EXTRACT 1 @@ -28,7 +31,12 @@ #define RAR_VOL_ASK 0 #define RAR_VOL_NOTIFY 1 -#define RAR_DLL_VERSION 5 +#define RAR_DLL_VERSION 8 + +#define RAR_HASH_NONE 0 +#define RAR_HASH_CRC32 1 +#define RAR_HASH_BLAKE2 2 + #ifdef _UNIX #define CALLBACK @@ -39,6 +47,13 @@ #define UINT unsigned int #endif +#define RHDF_SPLITBEFORE 0x01 +#define RHDF_SPLITAFTER 0x02 +#define RHDF_ENCRYPTED 0x04 +#define RHDF_SOLID 0x10 +#define RHDF_DIRECTORY 0x20 + + struct RARHeaderData { char ArcName[260]; @@ -80,7 +95,20 @@ struct RARHeaderDataEx unsigned int CmtBufSize; unsigned int CmtSize; unsigned int CmtState; - unsigned int Reserved[1024]; + unsigned int DictSize; + unsigned int HashType; + char Hash[32]; + unsigned int RedirType; + wchar_t *RedirName; + unsigned int RedirNameSize; + unsigned int DirTarget; + unsigned int MtimeLow; + unsigned int MtimeHigh; + unsigned int CtimeLow; + unsigned int CtimeHigh; + unsigned int AtimeLow; + unsigned int AtimeHigh; + unsigned int Reserved[988]; }; @@ -97,6 +125,16 @@ struct RAROpenArchiveData typedef int (CALLBACK *UNRARCALLBACK)(UINT msg,LPARAM UserData,LPARAM P1,LPARAM P2); +#define ROADF_VOLUME 0x0001 +#define ROADF_COMMENT 0x0002 +#define ROADF_LOCK 0x0004 +#define ROADF_SOLID 0x0008 +#define ROADF_NEWNUMBERING 0x0010 +#define ROADF_SIGNED 0x0020 +#define ROADF_RECOVERY 0x0040 +#define ROADF_ENCHEADERS 0x0080 +#define ROADF_FIRSTVOLUME 0x0100 + struct RAROpenArchiveDataEx { char *ArcName; @@ -114,7 +152,8 @@ struct RAROpenArchiveDataEx }; enum UNRARCALLBACK_MESSAGES { - UCM_CHANGEVOLUME,UCM_PROCESSDATA,UCM_NEEDPASSWORD + UCM_CHANGEVOLUME,UCM_PROCESSDATA,UCM_NEEDPASSWORD,UCM_CHANGEVOLUMEW, + UCM_NEEDPASSWORDW }; typedef int (PASCAL *CHANGEVOLPROC)(char *ArcName,int Mode); diff --git a/CBXShell/unrar.lib b/CBXShell/unrar.lib index c17193a..c211cd4 100644 Binary files a/CBXShell/unrar.lib and b/CBXShell/unrar.lib differ diff --git a/CBXShell/unrar64.lib b/CBXShell/unrar64.lib index 6a1c616..94cd035 100644 Binary files a/CBXShell/unrar64.lib and b/CBXShell/unrar64.lib differ diff --git a/README.md b/README.md index df42f94..ae2d409 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CBX Shell Thumbnail preview for ZIP and RAR image archives (CBZ/CBR) -##Minimium system requirements +## Minimium system requirements -Windows 2000 / XP / Vista / 7 (32 / 64-bit)
Internet Explorer 6 or later +Windows 7/8/8.1/10 (32 / 64-bit)