├── iBurnMgr ├── App.ini ├── iBurnMgr.rc ├── resource.h ├── zh-CN.lang ├── iBurnMgr.zh-CN.rc ├── images │ ├── img100.png │ ├── EMojiFace2.png │ ├── mainicon.ico │ ├── titleicon.png │ └── background01.png ├── packages.config ├── app.config ├── Precompiled.cpp ├── en.lang ├── InspectionEnvironment.h ├── EquipmentController.h ├── ResolveBootSupervisor.h ├── MUIController.h ├── UniversalDiscFormat.h ├── UniversalDiscFormatDecode.cpp ├── Precompiled.h ├── DecompressSupervision.h ├── iBurnMgr.manifest ├── InspectionEnvironment.cpp ├── iBurnMgr.cpp ├── DrivesTraversal.cpp ├── APIController.h ├── ResolveBootSupervisor.cpp ├── FileManagerController.cpp ├── InformationWindow.cpp ├── ExplorerCombo.h ├── LowLevelFormat.txt ├── MUIController.cpp ├── iBurnMgr.vcxproj.filters ├── MetroWindow.h ├── StorageManagementAPI.cpp ├── DecompressSuprevision.cpp └── iBurnMgr.vcxproj ├── packages ├── wtl.9.1 │ ├── tools │ │ ├── AppWiz │ │ │ ├── Files │ │ │ │ ├── Templates │ │ │ │ │ └── 1033 │ │ │ │ │ │ ├── root.h │ │ │ │ │ │ ├── root.ico │ │ │ │ │ │ ├── rootDoc.ico │ │ │ │ │ │ ├── toolbar.bmp │ │ │ │ │ │ ├── rootidl.h │ │ │ │ │ │ ├── root.rgs │ │ │ │ │ │ ├── rootps.def │ │ │ │ │ │ ├── root.idl │ │ │ │ │ │ ├── stdafx.cpp │ │ │ │ │ │ ├── AboutDlg.cpp │ │ │ │ │ │ ├── rootps.mk │ │ │ │ │ │ ├── root.exe.manifest │ │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ │ ├── Templates.inf │ │ │ │ │ │ ├── AboutDlg.h │ │ │ │ │ │ ├── Ribbon.h │ │ │ │ │ │ ├── resource.h │ │ │ │ │ │ ├── ChildFrm.cpp │ │ │ │ │ │ ├── View.cpp │ │ │ │ │ │ ├── ChildFrm.h │ │ │ │ │ │ ├── View.h │ │ │ │ │ │ ├── stdafx.h │ │ │ │ │ │ ├── MainDlg.cpp │ │ │ │ │ │ ├── MainDlg.h │ │ │ │ │ │ ├── Ribbon.xml │ │ │ │ │ │ ├── root.cpp │ │ │ │ │ │ └── Frame.cpp │ │ │ │ ├── WTLAppWiz.ico │ │ │ │ ├── Images │ │ │ │ │ ├── WTLApp70.gif │ │ │ │ │ └── WTLApp70_Background.gif │ │ │ │ ├── WTLAppWiz.vsdir │ │ │ │ └── WTLAppWiz.vsz │ │ │ └── Setup.js │ │ └── install.ps1 │ ├── wtl.9.1.nupkg │ ├── build │ │ └── native │ │ │ └── wtl.targets │ └── lib │ │ └── native │ │ └── include │ │ ├── atlresce.h │ │ ├── atlres.h │ │ └── atldwm.h └── repositories.config ├── docs └── images │ ├── NewUI.PNG │ └── zh-CN.PNG ├── x64 └── utility │ ├── 7z │ ├── 7z.dll │ ├── 7z.exe │ ├── License.txt │ ├── history.txt │ └── readme.txt │ ├── Oscdimg │ ├── efisys.bin │ ├── etfsboot.com │ ├── oscdimg.exe │ └── efisys_noprompt.bin │ └── BCDBoot │ ├── bcdboot.exe │ ├── bcdedit.exe │ └── bootsect.exe ├── iBurnMgr.sln ├── LICENSE ├── .gitignore └── README.md /iBurnMgr/App.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/App.ini -------------------------------------------------------------------------------- /iBurnMgr/iBurnMgr.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/iBurnMgr.rc -------------------------------------------------------------------------------- /iBurnMgr/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/resource.h -------------------------------------------------------------------------------- /iBurnMgr/zh-CN.lang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/zh-CN.lang -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/root.h: -------------------------------------------------------------------------------- 1 | // [!output PROJECT_NAME].h 2 | -------------------------------------------------------------------------------- /docs/images/NewUI.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/docs/images/NewUI.PNG -------------------------------------------------------------------------------- /docs/images/zh-CN.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/docs/images/zh-CN.PNG -------------------------------------------------------------------------------- /x64/utility/7z/7z.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/7z/7z.dll -------------------------------------------------------------------------------- /x64/utility/7z/7z.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/7z/7z.exe -------------------------------------------------------------------------------- /iBurnMgr/iBurnMgr.zh-CN.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/iBurnMgr.zh-CN.rc -------------------------------------------------------------------------------- /iBurnMgr/images/img100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/images/img100.png -------------------------------------------------------------------------------- /iBurnMgr/images/EMojiFace2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/images/EMojiFace2.png -------------------------------------------------------------------------------- /iBurnMgr/images/mainicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/images/mainicon.ico -------------------------------------------------------------------------------- /iBurnMgr/images/titleicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/images/titleicon.png -------------------------------------------------------------------------------- /packages/wtl.9.1/wtl.9.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/wtl.9.1.nupkg -------------------------------------------------------------------------------- /x64/utility/Oscdimg/efisys.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/Oscdimg/efisys.bin -------------------------------------------------------------------------------- /iBurnMgr/images/background01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/iBurnMgr/images/background01.png -------------------------------------------------------------------------------- /x64/utility/BCDBoot/bcdboot.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/BCDBoot/bcdboot.exe -------------------------------------------------------------------------------- /x64/utility/BCDBoot/bcdedit.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/BCDBoot/bcdedit.exe -------------------------------------------------------------------------------- /x64/utility/BCDBoot/bootsect.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/BCDBoot/bootsect.exe -------------------------------------------------------------------------------- /x64/utility/Oscdimg/etfsboot.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/Oscdimg/etfsboot.com -------------------------------------------------------------------------------- /x64/utility/Oscdimg/oscdimg.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/Oscdimg/oscdimg.exe -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/install.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/tools/install.ps1 -------------------------------------------------------------------------------- /x64/utility/Oscdimg/efisys_noprompt.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/x64/utility/Oscdimg/efisys_noprompt.bin -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/WTLAppWiz.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/tools/AppWiz/Files/WTLAppWiz.ico -------------------------------------------------------------------------------- /iBurnMgr/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Images/WTLApp70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/tools/AppWiz/Files/Images/WTLApp70.gif -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/root.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/root.ico -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/rootDoc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/rootDoc.ico -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/toolbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/toolbar.bmp -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/WTLAppWiz.vsdir: -------------------------------------------------------------------------------- 1 | WTLAppWiz.vsz| |ATL/WTL Application Wizard|1|An application that uses the Windows Template Library.| |6777|4096|#1154 2 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Images/WTLApp70_Background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fcharlie/iBurnMgr/HEAD/packages/wtl.9.1/tools/AppWiz/Files/Images/WTLApp70_Background.gif -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/rootidl.h: -------------------------------------------------------------------------------- 1 | // [!output PROJECT_NAME].idl : IDL source for [!output PROJECT_NAME].exe 2 | // 3 | 4 | // Add interface and coclass declarations in this file 5 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/WTLAppWiz.vsz: -------------------------------------------------------------------------------- 1 | VSWIZARD 7.0 2 | Wizard=VsWizard.VsWizardEngine 3 | 4 | Param="WIZARD_NAME = WTLAppWiz" 5 | Param="WIZARD_VERSION = 7.0" 6 | Param="ABSOLUTE_PATH = ." 7 | Param="FALLBACK_LCID = 1033" 8 | -------------------------------------------------------------------------------- /iBurnMgr/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/root.rgs: -------------------------------------------------------------------------------- 1 | HKCR 2 | { 3 | NoRemove AppID 4 | { 5 | {[!output WTL_APPID]} = s '[!output PROJECT_NAME]' 6 | '[!output PROJECT_NAME].EXE' 7 | { 8 | val AppID = s {[!output WTL_APPID]} 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/rootps.def: -------------------------------------------------------------------------------- 1 | 2 | LIBRARY "[!output PROJECT_NAME]PS" 3 | 4 | DESCRIPTION 'Proxy/Stub DLL' 5 | 6 | EXPORTS 7 | DllGetClassObject @1 PRIVATE 8 | DllCanUnloadNow @2 PRIVATE 9 | GetProxyDllInfo @3 PRIVATE 10 | DllRegisterServer @4 PRIVATE 11 | DllUnregisterServer @5 PRIVATE 12 | -------------------------------------------------------------------------------- /iBurnMgr/Precompiled.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * Precompiled.cpp 3 | * Note: iBurnMgr Precompiled 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | -------------------------------------------------------------------------------- /iBurnMgr/en.lang: -------------------------------------------------------------------------------- 1 | LangNameShort=en 2 | LangName=English 3 | Adm=Administrator 4 | Discover=Find Image 5 | BMake=Began Making 6 | Fixboot=Fix Boot 7 | USBdrive=USB drive: 8 | ImageFile=Image File: 9 | ImageSize=Image Size: 10 | Notices=Notices 11 | NoticeInfo=Irreversible behavior(Format),Task running don't remove or insert the device\nSupport: Windows 7 or Later And Corresponding Server OS 12 | Byte=Byte 13 | KB=KB 14 | Tasknostart=Task no start -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/root.idl: -------------------------------------------------------------------------------- 1 | // [!output PROJECT_NAME].idl : IDL source for [!output PROJECT_NAME].exe 2 | // 3 | 4 | // This file will be processed by the MIDL tool to 5 | // produce the type library ([!output PROJECT_NAME].tlb) and marshalling code. 6 | 7 | import "oaidl.idl"; 8 | import "ocidl.idl"; 9 | 10 | [ 11 | uuid([!output WTL_LIBID]), 12 | version(1.0), 13 | helpstring("[!output PROJECT_NAME] 1.0 Type Library") 14 | ] 15 | library [!output SAFE_PROJECT_NAME]Lib 16 | { 17 | importlib("stdole32.tlb"); 18 | importlib("stdole2.tlb"); 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /iBurnMgr/InspectionEnvironment.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * InspectionEnvironment.h 3 | * Note: iBurnMgr InspectionEnvironment 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #ifndef INSPECTIONENVIRONMENT 9 | #define INSPECTIONENVIRONMENT 10 | 11 | 12 | ////lParam HWND 13 | DWORD WINAPI InspectionEnvironmentThread(LPVOID lParam); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // [!output PROJECT_NAME].pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | #if (_ATL_VER < 0x0700) 8 | #include 9 | #endif //(_ATL_VER < 0x0700) 10 | [!if WTL_COM_SERVER] 11 | 12 | #ifdef _ATL_STATIC_REGISTRY 13 | #include 14 | #if (_ATL_VER < 0x0700) 15 | #include 16 | #endif //(_ATL_VER < 0x0700) 17 | #endif //_ATL_STATIC_REGISTRY 18 | [!endif] 19 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/AboutDlg.cpp: -------------------------------------------------------------------------------- 1 | // aboutdlg.cpp : implementation of the CAboutDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | #include "resource.h" 7 | 8 | #include "aboutdlg.h" 9 | 10 | LRESULT CAboutDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 11 | { 12 | CenterWindow(GetParent()); 13 | return TRUE; 14 | } 15 | 16 | LRESULT CAboutDlg::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 17 | { 18 | EndDialog(wID); 19 | return 0; 20 | } 21 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/rootps.mk: -------------------------------------------------------------------------------- 1 | 2 | [!output PROJECT_NAME]ps.dll: dlldata.obj [!output PROJECT_NAME]_p.obj [!output PROJECT_NAME]_i.obj 3 | link /dll /out:[!output PROJECT_NAME]ps.dll /def:[!output PROJECT_NAME]ps.def /entry:DllMain dlldata.obj [!output PROJECT_NAME]_p.obj [!output PROJECT_NAME]_i.obj \ 4 | kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib \ 5 | 6 | .c.obj: 7 | cl /c /Ox /DWIN32 /D_WIN32_WINNT=0x0400 /DREGISTER_PROXY_DLL \ 8 | $< 9 | 10 | clean: 11 | @del [!output PROJECT_NAME]ps.dll 12 | @del [!output PROJECT_NAME]ps.lib 13 | @del [!output PROJECT_NAME]ps.exp 14 | @del dlldata.obj 15 | @del [!output PROJECT_NAME]_p.obj 16 | @del [!output PROJECT_NAME]_i.obj 17 | -------------------------------------------------------------------------------- /packages/wtl.9.1/build/native/wtl.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ;%(PreprocessorDefinitions) 6 | $(MSBuildThisFileDirectory)..\..\lib\native\include\;%(AdditionalIncludeDirectories) 7 | 8 | 9 | $(MSBuildThisFileDirectory)..\..\lib\native\include\;%(AdditionalIncludeDirectories) 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/root.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | [!output PROJECT_NAME] Application 11 | 12 | 13 | 14 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /iBurnMgr/EquipmentController.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * EquipmentController.h 3 | * Note: iBurnMgr EquipmentController 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #ifndef EQUIPMENTCONTROLLER_H 9 | #define EQUIPMENTCONTROLLER_H 10 | 11 | typedef struct _RemoveableDrive{ 12 | wchar_t driveLetter[4]; 13 | wchar_t drivePath[8]; 14 | wchar_t sizeInfo[64]; 15 | }RemoveableDrive; 16 | 17 | UINT WINAPI DiscoverRemoveableDrives(ULONGLONG limitSize = 0); 18 | 19 | extern RemoveableDrive g_DriveList[26]; 20 | #endif 21 | -------------------------------------------------------------------------------- /iBurnMgr/ResolveBootSupervisor.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * ResolveBootSupervisor.h 3 | * Note: iBurnMgr ResolveBootSupervisor 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #ifndef RESOLVEBOOTSUPERVISOR 9 | #define RESOLVEBOOTSUPERVISOR 10 | #ifndef _STRING_ 11 | #include 12 | #endif 13 | 14 | namespace ResolveSupervisor{ 15 | typedef struct _ResolveData{ 16 | std::wstring latter; 17 | HWND m_hWnd; 18 | }ResolveData; 19 | DWORD WINAPI ResolveSupervisorThread(LPVOID lParam); 20 | enum DriveTarget{ 21 | OSNT6=1, 22 | OSNT5=2 23 | }; 24 | class ResolveSupervisor{ 25 | public: 26 | static bool FixUSBDeviceBoot(LPCWSTR DeviceLetter); 27 | ResolveSupervisor(); 28 | }; 29 | } 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /iBurnMgr.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.40629.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iBurnMgr", "iBurnMgr\iBurnMgr.vcxproj", "{8286DDB9-1CB6-4D6C-A805-B46C4DD9EFCB}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {8286DDB9-1CB6-4D6C-A805-B46C4DD9EFCB}.Debug|x64.ActiveCfg = Debug|x64 15 | {8286DDB9-1CB6-4D6C-A805-B46C4DD9EFCB}.Debug|x64.Build.0 = Debug|x64 16 | {8286DDB9-1CB6-4D6C-A805-B46C4DD9EFCB}.Release|x64.ActiveCfg = Release|x64 17 | {8286DDB9-1CB6-4D6C-A805-B46C4DD9EFCB}.Release|x64.Build.0 = Release|x64 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | Windows Template Library : "[!output PROJECT_NAME]" Project Overview 3 | ======================================================================== 4 | 5 | The ATL/WTL Application Wizard has created this "[!output PROJECT_NAME]" project for you as a starting point. 6 | 7 | This file contains a summary of what you will find in each of the files that make up your project. 8 | 9 | WTLApp70.vcproj 10 | This is the main project file for projects generated using an Application Wizard. 11 | It contains information about the version of the product that generated the file, and 12 | information about the platforms, configurations, and project features selected with the 13 | Application Wizard. 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | Other notes: 17 | 18 | ///////////////////////////////////////////////////////////////////////////// 19 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/Templates.inf: -------------------------------------------------------------------------------- 1 | stdafx.cpp 2 | stdafx.h 3 | root.cpp 4 | root.h 5 | root.rc 6 | 7 | [!if !WTL_APPTYPE_DLG] 8 | frame.h 9 | [!if WTL_USE_CPP_FILES] 10 | frame.cpp 11 | [!endif] 12 | toolbar.bmp 13 | [!endif] 14 | 15 | [!if WTL_APPTYPE_DLG] 16 | MainDlg.h 17 | [!if WTL_USE_CPP_FILES] 18 | MainDlg.cpp 19 | [!endif] 20 | [!endif] 21 | 22 | root.ico 23 | 24 | [!if WTL_APPTYPE_MDI] 25 | rootDoc.ico 26 | ChildFrm.h 27 | [!if WTL_USE_CPP_FILES] 28 | ChildFrm.cpp 29 | [!endif] 30 | [!endif] 31 | 32 | [!if WTL_USE_VIEW] 33 | view.h 34 | [!if WTL_USE_CPP_FILES] 35 | view.cpp 36 | [!endif] 37 | [!endif] 38 | 39 | [!if !WTL_APPTYPE_DLG_MODAL] 40 | AboutDlg.h 41 | [!if WTL_USE_CPP_FILES] 42 | AboutDlg.cpp 43 | [!endif] 44 | [!endif] 45 | 46 | resource.h 47 | 48 | [!if WTL_USE_RIBBON] 49 | Ribbon.xml 50 | Ribbon.h 51 | [!endif] 52 | 53 | [!if WTL_COM_SERVER] 54 | root.idl 55 | root.rgs 56 | rootps.mk 57 | rootps.def 58 | [!endif] 59 | 60 | [!if WTL_USE_MANIFEST] 61 | root.exe.manifest 62 | [!endif] 63 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Mr.Huxizero 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /x64/utility/7z/License.txt: -------------------------------------------------------------------------------- 1 | 7-Zip Extra 2 | ~~~~~~~~~~~ 3 | License for use and distribution 4 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 | 6 | Copyright (C) 1999-2016 Igor Pavlov. 7 | 8 | 7-Zip Extra files are under the GNU LGPL license. 9 | 10 | 11 | Notes: 12 | You can use 7-Zip Extra on any computer, including a computer in a commercial 13 | organization. You don't need to register or pay for 7-Zip. 14 | 15 | 16 | GNU LGPL information 17 | -------------------- 18 | 19 | This library is free software; you can redistribute it and/or 20 | modify it under the terms of the GNU Lesser General Public 21 | License as published by the Free Software Foundation; either 22 | version 2.1 of the License, or (at your option) any later version. 23 | 24 | This library is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 27 | Lesser General Public License for more details. 28 | 29 | You can receive a copy of the GNU Lesser General Public License from 30 | http://www.gnu.org/ 31 | 32 | -------------------------------------------------------------------------------- /iBurnMgr/MUIController.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * MUIController.h 3 | * Note: iBurnMgr MUIController 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #ifndef METROMUI_CONTROLLER 9 | #define METROMUI_CONTROLLER 10 | 11 | 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | namespace Metro{ 20 | namespace MUI{ 21 | typedef struct _LocaleInfoTags{ 22 | std::wstring localename; 23 | DWORD lcid; 24 | }LocaleInfo; 25 | typedef struct _LocnameBase{ 26 | const char *name; 27 | DWORD id; 28 | }LocnameBase; 29 | class MultiUI{ 30 | private: 31 | DWORD UILcId; 32 | std::wstring ifilename; 33 | std::map m_langTree; 34 | public: 35 | MultiUI(); 36 | std::wstring as_string(std::wstring &key,std::wstring &value); 37 | std::wstring as_string(const wchar_t *key, const wchar_t *value); 38 | bool loading(); 39 | DWORD initialize(); 40 | }; 41 | extern MultiUI mutliui; 42 | } 43 | } 44 | 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /iBurnMgr/UniversalDiscFormat.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * UniversalDiskFormatModel.h 3 | * Note: iBurnMgr UniversalDiskFormatModel 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #ifndef UniversalDiskFormat 9 | #define UniversalDiskFormat 10 | 11 | #define DISABLE_NOW 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include "APIController.h" 19 | 20 | /////////// 21 | #define UNNAMESPACE namespace Decode{ 22 | #define UNNAMESPACEEND }} 23 | //START 24 | NAMESPACEMETRO 25 | UNNAMESPACE 26 | 27 | typedef HRESULT(*DecodeRate)(float, void *data); 28 | 29 | class UniversalDiscFormatDecode{ 30 | private: 31 | IDiscFormat2Data* m_pIDiscFormat2Data; 32 | std::wstring m_Image; 33 | std::wstring m_drive; 34 | public: 35 | enum DiscFormats{ 36 | DiscISO9660=1, 37 | DiscJoliet=2, 38 | DiscUDF=3 39 | }; 40 | UniversalDiscFormatDecode(std::wstring &image,std::wstring &drive); 41 | ~UniversalDiscFormatDecode(); 42 | HRESULT Decode(DecodeRate rate,void *data); 43 | }; 44 | 45 | 46 | ////End 47 | UNNAMESPACEEND 48 | #endif 49 | -------------------------------------------------------------------------------- /iBurnMgr/UniversalDiscFormatDecode.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * UniversalDiscFormatDecode.cpp 3 | * Note: iBurnMgr UniversalDiscFormatDecode 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include "UniversalDiscFormat.h" 10 | #include 11 | 12 | template 13 | inline void 14 | SafeRelease( 15 | Interface **ppInterfaceToRelease 16 | ) 17 | { 18 | if (*ppInterfaceToRelease != NULL) 19 | { 20 | (*ppInterfaceToRelease)->Release(); 21 | 22 | (*ppInterfaceToRelease) = NULL; 23 | } 24 | } 25 | 26 | ///Namespace begin 27 | NAMESPACEMETRO 28 | UNNAMESPACE 29 | 30 | UniversalDiscFormatDecode::UniversalDiscFormatDecode(std::wstring &image, std::wstring &drive) 31 | :m_Image(image), 32 | m_drive(drive), 33 | m_pIDiscFormat2Data(NULL) 34 | { 35 | 36 | } 37 | ////////Clear resource 38 | UniversalDiscFormatDecode::~UniversalDiscFormatDecode() 39 | { 40 | SafeRelease(&m_pIDiscFormat2Data); 41 | } 42 | 43 | 44 | HRESULT UniversalDiscFormatDecode::Decode(DecodeRate rate, void *data) 45 | { 46 | 47 | return S_OK; 48 | } 49 | 50 | ///Namespace End 51 | UNNAMESPACEEND 52 | 53 | -------------------------------------------------------------------------------- /iBurnMgr/Precompiled.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * Precompiled.h 3 | * Note: iBurnMgr Precompiled 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #pragma once 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | #ifndef MAX_UNC_PATH 19 | #define MAX_UNC_PATH (32*1024-1) 20 | #endif 21 | 22 | extern CAppModule _Module; 23 | 24 | #include 25 | #include 26 | #include 27 | 28 | class CoInitializeSingle{ 29 | private: 30 | CoInitializeSingle(){ 31 | auto hr=CoInitializeSecurity( 32 | NULL, 33 | -1, 34 | NULL, 35 | NULL, 36 | RPC_C_AUTHN_LEVEL_CONNECT, 37 | RPC_C_IMP_LEVEL_IMPERSONATE, 38 | NULL, 39 | 0, 40 | NULL 41 | ); 42 | assert(hr); 43 | } 44 | public: 45 | ~CoInitializeSingle(){ 46 | CoUninitialize(); 47 | } 48 | static CoInitializeSingle *Initialize(){ 49 | static CoInitializeSingle in; 50 | return ∈ 51 | } 52 | CoInitializeSingle(const CoInitializeSingle &)=delete; 53 | CoInitializeSingle &operator=(const CoInitializeSingle &)=delete; 54 | }; 55 | 56 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/AboutDlg.h: -------------------------------------------------------------------------------- 1 | // aboutdlg.h : interface of the CAboutDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #pragma once 6 | 7 | class CAboutDlg : public CDialogImpl 8 | { 9 | public: 10 | enum { IDD = IDD_ABOUTBOX }; 11 | 12 | BEGIN_MSG_MAP(CAboutDlg) 13 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 14 | COMMAND_ID_HANDLER(IDOK, OnCloseCmd) 15 | COMMAND_ID_HANDLER(IDCANCEL, OnCloseCmd) 16 | END_MSG_MAP() 17 | 18 | // Handler prototypes (uncomment arguments if needed): 19 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 20 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 21 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 22 | 23 | [!if WTL_USE_CPP_FILES] 24 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 25 | [!else] 26 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 27 | { 28 | CenterWindow(GetParent()); 29 | return TRUE; 30 | } 31 | 32 | [!endif] 33 | [!if WTL_USE_CPP_FILES] 34 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 35 | [!else] 36 | LRESULT OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 37 | { 38 | EndDialog(wID); 39 | return 0; 40 | } 41 | [!endif] 42 | }; 43 | -------------------------------------------------------------------------------- /iBurnMgr/DecompressSupervision.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * DecompressSupervision.h 3 | * Note: iBurnMgr DecompressSupervision 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | # ifndef DECOMPRESSSUPERVISION 9 | #define DECOMPRESSSUPERVISION 10 | #include 11 | 12 | #define SUCCESS_REPORT true 13 | #define ERROR_MESSAGE false 14 | typedef bool(*FormatFailedCallback)(const wchar_t *,bool status, void *); 15 | /* 16 | * Use IVdsVolumeFormat::FormatEx2 17 | */ 18 | BOOL WINAPI IVdsVolumeFormat( 19 | LPCWSTR latter, 20 | LPWSTR pwszLabel, 21 | FormatFailedCallback fcall, 22 | void *data); 23 | 24 | namespace Decompress{ 25 | typedef struct _SupervisorData{ 26 | std::wstring image; 27 | wchar_t latter[4]; 28 | LPVOID lParam; 29 | }SupervisorData,*LPSupervisorData; 30 | 31 | DWORD WINAPI DecompressSupervisorThread(LPVOID Spdata); 32 | 33 | class Supervisor{ 34 | private: 35 | std::wstring m_image; 36 | std::wstring m_latter; 37 | HWND hParents; 38 | //bool FormatUSBDevice(); 39 | public: 40 | bool CreateDecompressFormat(); 41 | static bool WINAPI CreateDecompressInvoke(HWND hWnd,std::wstring img, LPWSTR latter); 42 | Supervisor(LPSupervisorData lPSpData); 43 | Supervisor(std::wstring img, LPCWSTR latter,LPVOID lParam); 44 | }; 45 | 46 | } 47 | #endif 48 | -------------------------------------------------------------------------------- /iBurnMgr/iBurnMgr.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/Ribbon.h: -------------------------------------------------------------------------------- 1 | // ***************************************************************************** 2 | // * This is an automatically generated header file for UI Element definition * 3 | // * resource symbols and values. Please do not modify manually. * 4 | // ***************************************************************************** 5 | 6 | #pragma once 7 | 8 | #define ID_FILE_NEW 0xE100 9 | #define ID_FILE_OPEN 0xE101 10 | #define ID_FILE_CLOSE 0xE102 11 | #define ID_FILE_SAVE 0xE103 12 | #define ID_FILE_SAVE_AS 0xE104 13 | #define ID_FILE_PAGE_SETUP 0xE105 14 | #define ID_FILE_PRINT_SETUP 0xE106 15 | #define ID_FILE_PRINT 0xE107 16 | #define ID_FILE_PRINT_DIRECT 0xE108 17 | #define ID_FILE_PRINT_PREVIEW 0xE109 18 | #define ID_EDIT_COPY 0xE122 19 | #define ID_EDIT_CUT 0xE123 20 | #define ID_EDIT_FIND 0xE124 21 | #define ID_EDIT_PASTE 0xE125 22 | #define ID_EDIT_SELECT_ALL 0xE12A 23 | #define ID_EDIT_UNDO 0xE12B 24 | #define ID_EDIT_REDO 0xE12C 25 | #define ID_VIEW_TOOLBAR 0xE800 26 | #define ID_VIEW_STATUS_BAR 0xE801 27 | #define ID_VIEW_RIBBON 0xE804 28 | #define ID_APP_ABOUT 0xE140 29 | #define ID_APP_EXIT 0xE141 30 | #define ID_TAB_HOME 2 31 | #define ID_TAB_HOME_LabelTitle_RESID 60001 32 | #define ID_GROUP_CLIPBOARD 3 33 | #define ID_GROUP_CLIPBOARD_LabelTitle_RESID 60002 34 | #define ID_GROUP_VIEW 4 35 | #define ID_GROUP_VIEW_LabelTitle_RESID 60003 36 | #define ID_RIBBON_APP_MENU 5 37 | #define ID_SAVEMORE 6 38 | #define ID_PRINTMORE 7 39 | #define ID_RIBBON_QAT 8 40 | -------------------------------------------------------------------------------- /iBurnMgr/InspectionEnvironment.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * InspectionEnvironment.cpp 3 | * Note: iBurnMgr InspectionEnvironment 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include "InspectionEnvironment.h" 10 | #include "APIController.h" 11 | #include 12 | #include 13 | 14 | WCHAR szLog[100] = {0}; 15 | 16 | 17 | ////lParam HWND 18 | DWORD WINAPI InspectionEnvironmentThread(LPVOID lParam) 19 | { 20 | HWND hWnd = static_cast(lParam); 21 | WCHAR szPath[PATHCCH_MAX_CCH] = { 0 }; 22 | wcscpy_s(szLog, 100, L"Inspection Environment Status"); 23 | std::wstring _7z,bcd; 24 | GetModuleFileNameW(GetModuleHandle(nullptr), szPath, PATHCCH_MAX_CCH); 25 | _7z = szPath; 26 | bcd = szPath; 27 | std::string::size_type npos = _7z.find_last_of(L"\\"); 28 | _7z = _7z.substr(0, npos); 29 | npos = _7z.find_last_of(L"\\"); 30 | _7z = _7z.substr(0, npos); 31 | bcd = _7z + LR"(\utility\BCDBoot\bootsect.exe)"; 32 | _7z = _7z + LR"(\utility\7z\7z.exe)"; 33 | if (!_waccess_s(_7z.c_str(), 0) == 0){ 34 | wcscat_s(szLog,L"\n7z Not Found!"); 35 | } 36 | else{ 37 | wcscat_s(szLog, L"\nFound 7z"); 38 | } 39 | if (!_waccess_s(bcd.c_str(), 0) == 0) 40 | { 41 | wcscat_s(szLog, L"\nBCDBoot Not Found !"); 42 | } 43 | else{ 44 | wcscat_s(szLog, L"\nFound BCDBoot"); 45 | } 46 | Sleep(1500); 47 | PostMessage(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_INSPECTIONEC, LPARAM(szLog)); 48 | return 0; 49 | } 50 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by [!output PROJECT_NAME].RC 4 | // 5 | 6 | [!if WTL_COM_SERVER] 7 | #define IDS_PROJNAME 100 8 | #define IDR_[!output UPPERCASE_SAFE_PROJECT_NAME] 100 9 | [!endif] 10 | 11 | #define IDD_ABOUTBOX 100 12 | #define IDR_MAINFRAME 128 13 | //#define IDR_[!output UPPERCASE_SAFE_PROJECT_NAME]TYPE 129 14 | [!if WTL_APPTYPE_MDI] 15 | #define IDR_MDICHILD 129 16 | [!if WTL_USE_VIEW] 17 | [!if WTL_VIEWTYPE_FORM] 18 | #define IDD_[!output UPPERCASE_SAFE_PROJECT_NAME]_FORM 130 19 | [!endif] 20 | [!endif] 21 | [!else] 22 | [!if WTL_APPTYPE_SDI || WTL_APPTYPE_TABVIEW || WTL_APPTYPE_EXPLORER] 23 | [!if WTL_USE_VIEW] 24 | [!if WTL_VIEWTYPE_FORM] 25 | #define IDD_[!output UPPERCASE_SAFE_PROJECT_NAME]_FORM 129 26 | [!endif] 27 | [!endif] 28 | [!else] 29 | [!if WTL_APPTYPE_DLG] 30 | #define IDD_MAINDLG 129 31 | [!endif] 32 | [!endif] 33 | [!endif] 34 | [!if WTL_APPTYPE_MTSDI] 35 | [!if WTL_USE_VIEW] 36 | [!if WTL_VIEWTYPE_FORM] 37 | #define IDD_[!output UPPERCASE_SAFE_PROJECT_NAME]_FORM 130 38 | [!endif] 39 | [!endif] 40 | #define ID_FILE_NEW_WINDOW 32771 41 | [!endif] 42 | [!if WTL_APPTYPE_TABVIEW] 43 | #define ID_WINDOW_CLOSE 32772 44 | #define ID_WINDOW_CLOSE_ALL 32773 45 | [!endif] 46 | [!if WTL_APPTYPE_EXPLORER] 47 | #define ID_VIEW_TREEPANE 32774 48 | [!endif] 49 | 50 | // Next default values for new objects 51 | // 52 | #ifdef APSTUDIO_INVOKED 53 | #ifndef APSTUDIO_READONLY_SYMBOLS 54 | #define _APS_NEXT_RESOURCE_VALUE 201 55 | #define _APS_NEXT_CONTROL_VALUE 1000 56 | #define _APS_NEXT_SYMED_VALUE 101 57 | #define _APS_NEXT_COMMAND_VALUE 32775 58 | #endif 59 | #endif 60 | -------------------------------------------------------------------------------- /iBurnMgr/iBurnMgr.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * iBurnMgrStart.cpp 3 | * Note: iBurnMgr iBurnMgrStart 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include "MetroWindow.h" 10 | #include "MUIController.h" 11 | 12 | //#include "APIController.h" 13 | CAppModule _Module; 14 | 15 | 16 | 17 | int WINAPI wWinMain(_In_ HINSTANCE hInstance, 18 | _In_opt_ HINSTANCE hPrevInstance, 19 | _In_ PWSTR lpCmdLine, 20 | _In_ int nCmdShow) 21 | { 22 | UNREFERENCED_PARAMETER(hPrevInstance); 23 | UNREFERENCED_PARAMETER(lpCmdLine); 24 | if (!CoInitializeSingle::Initialize()){ 25 | 26 | } 27 | HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); 28 | Metro::MUI::mutliui.initialize(); 29 | _Module.Init(nullptr, hInstance); 30 | MSG msg; 31 | ::InitCommonControls(); 32 | Metro::MetroWindow iMetroWindow; 33 | 34 | RECT rect = { (::GetSystemMetrics(SM_CXSCREEN) - 720) / 2, (::GetSystemMetrics(SM_CYSCREEN) - 450) / 2, (::GetSystemMetrics(SM_CXSCREEN) + 720) / 2, (::GetSystemMetrics(SM_CYSCREEN) + 450) / 2 }; 35 | if (iMetroWindow.Create(nullptr, rect, METRO_INTERNAL_WINDOWLNAME, WS_OVERLAPPED | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, WS_EX_ACCEPTFILES) == nullptr) 36 | { 37 | return -1; 38 | } 39 | DWORD dwExit = 0; 40 | iMetroWindow.ShowWindow(nCmdShow); 41 | iMetroWindow.UpdateWindow(); 42 | 43 | while (GetMessage(&msg, nullptr, 0, 0)>0) 44 | { 45 | TranslateMessage(&msg); 46 | DispatchMessage(&msg); 47 | } 48 | dwExit = iMetroWindow.GetExitCode(); 49 | _Module.Term(); 50 | return dwExit; 51 | } 52 | -------------------------------------------------------------------------------- /iBurnMgr/DrivesTraversal.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * DrivesTravesal.cpp 3 | * Note: iBurnMgr DrivesTravesal 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include "EquipmentController.h" 10 | #include "DecompressSupervision.h" 11 | 12 | RemoveableDrive g_DriveList[26]; 13 | 14 | 15 | UINT WINAPI DiscoverRemoveableDrives(ULONGLONG limitSize) 16 | { 17 | UINT index = 0; 18 | wchar_t buffer[2048] = { 0 }; 19 | wchar_t drivePath[8] = { 0 }; 20 | wchar_t driveLetter[4] = { 0 }; 21 | DWORD iSub = 0; 22 | DWORD iLength= GetLogicalDriveStringsW(2048, buffer); 23 | for (iSub = 0; iSub < iLength; iSub += 4) 24 | { 25 | wcscpy_s(drivePath, buffer+iSub); 26 | 27 | if (GetDriveTypeW(drivePath) == DRIVE_REMOVABLE&&GetVolumeInformationW(drivePath, NULL, 0, NULL, NULL, NULL, NULL, 0) == TRUE) 28 | { 29 | wcscpy_s(driveLetter, drivePath); 30 | (wcsrchr(driveLetter, _T(':')))[1] = 0; 31 | ULARGE_INTEGER lpFreeToCaller; 32 | ULARGE_INTEGER lpTotalSize; 33 | ULARGE_INTEGER lpFreeSize; 34 | if (GetDiskFreeSpaceExW(drivePath, &lpFreeToCaller, &lpTotalSize, &lpFreeSize) ==TRUE) 35 | { 36 | if (limitSize>0){ 37 | if (lpTotalSize.QuadPart < limitSize) 38 | continue; 39 | } 40 | swprintf_s(g_DriveList[index].sizeInfo, L"%s The total size of USB device: %4.1f GB |Free Space: %4.1f GB", 41 | drivePath, 42 | (float)(lpTotalSize.QuadPart) / (1024 * 1024 * 1024), 43 | (float)(lpFreeSize.QuadPart) / (1024 * 1024 * 1024)); 44 | wcscpy_s(g_DriveList[index].driveLetter, driveLetter); 45 | wcscpy_s(g_DriveList[index].drivePath, drivePath); 46 | index++; 47 | } 48 | } 49 | } 50 | return index; 51 | } 52 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/ChildFrm.cpp: -------------------------------------------------------------------------------- 1 | // [!output WTL_CHILD_FRAME_FILE].cpp : implementation of the [!output WTL_CHILD_FRAME_CLASS] class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | #include "resource.h" 7 | 8 | [!if WTL_USE_VIEW] 9 | #include "[!output WTL_VIEW_FILE].h" 10 | [!endif] 11 | #include "[!output WTL_CHILD_FRAME_FILE].h" 12 | 13 | void [!output WTL_CHILD_FRAME_CLASS]::OnFinalMessage(HWND /*hWnd*/) 14 | { 15 | delete this; 16 | } 17 | 18 | [!if WTL_USE_VIEW] 19 | LRESULT [!output WTL_CHILD_FRAME_CLASS]::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) 20 | { 21 | [!if WTL_VIEWTYPE_FORM] 22 | m_hWndClient = m_view.Create(m_hWnd); 23 | [!else] 24 | [!if WTL_VIEWTYPE_HTML] 25 | //TODO: Replace with a URL of your choice 26 | m_hWndClient = m_view.Create(m_hWnd, rcDefault, _T("http://www.microsoft.com"), [!output WTL_VIEW_STYLES], [!output WTL_VIEW_EX_STYLES]); 27 | [!else] 28 | m_hWndClient = m_view.Create(m_hWnd, rcDefault, NULL, [!output WTL_VIEW_STYLES], [!output WTL_VIEW_EX_STYLES]); 29 | [!if WTL_VIEWTYPE_LISTBOX || WTL_VIEWTYPE_EDIT || WTL_VIEWTYPE_RICHEDIT] 30 | m_font = AtlCreateControlFont(); 31 | m_view.SetFont(m_font); 32 | [!endif] 33 | [!if WTL_VIEWTYPE_SCROLL] 34 | // replace with appropriate values for the app 35 | m_view.SetScrollSize(2000, 1000); 36 | [!endif] 37 | [!endif] 38 | [!endif] 39 | 40 | bHandled = FALSE; 41 | return 1; 42 | } 43 | 44 | [!endif] 45 | LRESULT [!output WTL_CHILD_FRAME_CLASS]::OnForwardMsg(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/) 46 | { 47 | LPMSG pMsg = (LPMSG)lParam; 48 | 49 | [!if WTL_USE_VIEW] 50 | if([!output WTL_CHILD_FRAME_BASE_CLASS]<[!output WTL_CHILD_FRAME_CLASS]>::PreTranslateMessage(pMsg)) 51 | return TRUE; 52 | 53 | return m_view.PreTranslateMessage(pMsg); 54 | [!else] 55 | return [!output WTL_CHILD_FRAME_BASE_CLASS]<[!output WTL_CHILD_FRAME_CLASS]>::PreTranslateMessage(pMsg); 56 | [!endif] 57 | } 58 | -------------------------------------------------------------------------------- /iBurnMgr/APIController.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * APIController.h 3 | * Note: iBurnMgr APIController 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #ifndef APICONTROLLER_H 9 | #define APICONTROLLER_H 10 | 11 | #define NAMESPACEMETRO namespace Metro{ 12 | #define ENDNAMESPACE } 13 | 14 | #define METROCLASSNAME L"Force.Metro.Native.iBurnMgr" 15 | #define METRO_INTERNAL_WINDOWLNAME L"Metro.Native.Window" 16 | 17 | ///Must Include Window.h 18 | /// nameofimage must 32*1024-1 19 | LRESULT DiscoverInstallerIMAGE(HWND hWnd, PWSTR nameofimage); 20 | 21 | #define MET_INSPECTIONEC 1 22 | #define MET_DECOMPRESS 2 23 | #define MET_RESOLVEBS 3 24 | #define MET_POST_PID_ADD 4 25 | #define MET_POST_PID_CLEAR 5 26 | ////PostMessage WPARAM 27 | #define METRO_RATE_FORMAT 0 //IsInvalid ->false 28 | #define METRO_RATE_STATUS 1 29 | #define METRO_RATE_BLOCK 2 30 | #define METRO_RATE_ADNORMAL 3 31 | #define METRO_RATE_ENDOK 4 32 | /////// 33 | #define METRO_FIX_UNLOCK 5 34 | #define METRO_FIX_STATUS 6 35 | #define METRO_CANCLE_OPT 7 36 | 37 | 38 | ////PostMessage LPARAM 39 | #define METRO_RATE_UNLOCK_OK 1 40 | #define METRO_RATE_UNLOCK_ERR 2 41 | #define METRO_RATE_FORMAT_SUC 0 42 | #define METRO_RATE_FORMAT_ERR 1 43 | 44 | #define METRO_CANCLE_OPT_FORMAT 0 45 | #define METRO_CANCLE_DECOMPRESS 1 46 | #define METRO_CANCLE_FIXBOOT 2 47 | ///METRO_RATE_STATUS ->lParam is Percentage progress 48 | 49 | 50 | 51 | 52 | namespace Metro{ 53 | extern const UINT METRO_MULTITHREAD_MSG; 54 | extern const UINT METRO_THREAD_RATESTATUS_MSG; 55 | typedef struct _PidKillHlp{ 56 | DWORD Pid; 57 | bool status; 58 | }PidKillHlp; 59 | typedef struct _ThreadMgrHlp{ 60 | DWORD ThreadId; 61 | bool status; 62 | }ThreadMgrHlp; 63 | } 64 | 65 | 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/View.cpp: -------------------------------------------------------------------------------- 1 | // [!output WTL_VIEW_FILE].cpp : implementation of the [!output WTL_VIEW_CLASS] class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | [!if WTL_USE_RIBBON] 7 | #include "Ribbon.h" 8 | [!endif] 9 | #include "resource.h" 10 | 11 | #include "[!output WTL_VIEW_FILE].h" 12 | 13 | BOOL [!output WTL_VIEW_CLASS]::PreTranslateMessage(MSG* pMsg) 14 | { 15 | [!if WTL_HOST_AX] 16 | if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) && 17 | (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST)) 18 | return FALSE; 19 | 20 | HWND hWndCtl = ::GetFocus(); 21 | if(IsChild(hWndCtl)) 22 | { 23 | // find a direct child of the dialog from the window that has focus 24 | while(::GetParent(hWndCtl) != m_hWnd) 25 | hWndCtl = ::GetParent(hWndCtl); 26 | 27 | // give control a chance to translate this message 28 | if(::SendMessage(hWndCtl, WM_FORWARDMSG, 0, (LPARAM)pMsg) != 0) 29 | return TRUE; 30 | } 31 | 32 | [!endif] 33 | [!if WTL_VIEWTYPE_HTML] 34 | if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) && 35 | (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST)) 36 | return FALSE; 37 | 38 | // give HTML page a chance to translate this message 39 | return (BOOL)SendMessage(WM_FORWARDMSG, 0, (LPARAM)pMsg); 40 | [!else] 41 | [!if WTL_VIEWTYPE_FORM] 42 | return CWindow::IsDialogMessage(pMsg); 43 | [!else] 44 | pMsg; 45 | return FALSE; 46 | [!endif] 47 | [!endif] 48 | } 49 | [!if WTL_VIEWTYPE_SCROLL] 50 | 51 | void [!output WTL_VIEW_CLASS]::DoPaint(CDCHandle dc) 52 | { 53 | //TODO: Add your drawing code here 54 | } 55 | [!endif] 56 | [!if WTL_APPTYPE_TABVIEW] 57 | 58 | void [!output WTL_VIEW_CLASS]::OnFinalMessage(HWND /*hWnd*/) 59 | { 60 | delete this; 61 | } 62 | [!endif] 63 | [!if WTL_VIEWTYPE_GENERIC] 64 | 65 | LRESULT [!output WTL_VIEW_CLASS]::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 66 | { 67 | CPaintDC dc(m_hWnd); 68 | 69 | //TODO: Add your drawing code here 70 | 71 | return 0; 72 | } 73 | [!endif] 74 | -------------------------------------------------------------------------------- /x64/utility/7z/history.txt: -------------------------------------------------------------------------------- 1 | 7-Zip Extra history 2 | ------------------- 3 | 4 | 9.35 beta 2014-12-07 5 | ------------------------------ 6 | - SFX modules were moved to LZMA SDK package. 7 | 8 | 9 | 9.34 alpha 2014-06-22 10 | ------------------------------ 11 | - Minimum supported system now is Windows 2000 for EXE and DLL files. 12 | - all EXE and DLL files use msvcrt.dll. 13 | - 7zr.exe now support AES encryption. 14 | 15 | 16 | 9.18 2010-11-02 17 | ------------------------------ 18 | - New small SFX module for installers. 19 | 20 | 21 | 9.17 2010-10-04 22 | ------------------------------ 23 | - New 7-Zip plugin for FAR Manager x64. 24 | 25 | 26 | 9.10 2009-12-30 27 | ------------------------------ 28 | - 7-Zip for installers now supports LZMA2. 29 | 30 | 31 | 9.09 2009-12-12 32 | ------------------------------ 33 | - LZMA2 compression method support. 34 | - Some bugs were fixed. 35 | 36 | 37 | 4.65 2009-02-03 38 | ------------------------------ 39 | - Some bugs were fixed. 40 | 41 | 42 | 4.38 beta 2006-04-13 43 | ------------------------------ 44 | - SFX for installers now supports new properties in config file: 45 | Progress, Directory, ExecuteFile, ExecuteParameters. 46 | 47 | 48 | 4.34 beta 2006-02-27 49 | ------------------------------ 50 | - ISetProperties::SetProperties: 51 | it's possible to specify desirable number of CPU threads: 52 | PROPVARIANT: name=L"mt", vt = VT_UI4, ulVal = NumberOfThreads 53 | If "mt" is not defined, 7za.dll will check number of processors in system to set 54 | number of desirable threads. 55 | Now 7za.dll can use: 56 | 2 threads for LZMA compressing 57 | N threads for BZip2 compressing 58 | 4 threads for BZip2 decompressing 59 | Other codecs use only one thread. 60 | Note: 7za.dll can use additional "small" threads with low CPU load. 61 | - It's possible to call ISetProperties::SetProperties to specify "mt" property for decoder. 62 | 63 | 64 | 4.33 beta 2006-02-05 65 | ------------------------------ 66 | - Compressing speed and Memory requirements were increased. 67 | Default dictionary size was increased: Fastest: 64 KB, Fast: 1 MB, 68 | Normal: 4 MB, Max: 16 MB, Ultra: 64 MB. 69 | - 7z/LZMA now can use only these match finders: HC4, BT2, BT3, BT4 70 | 71 | 72 | 4.27 2005-09-21 73 | ------------------------------ 74 | - Some GUIDs/interfaces were changed. 75 | IStream.h: 76 | ISequentialInStream::Read now works as old ReadPart 77 | ISequentialOutStream::Write now works as old WritePart 78 | -------------------------------------------------------------------------------- /packages/wtl.9.1/lib/native/include/atlresce.h: -------------------------------------------------------------------------------- 1 | // Windows Template Library - WTL version 9.10 2 | // Copyright (C) Microsoft Corporation, WTL Team. All rights reserved. 3 | // 4 | // This file is a part of the Windows Template Library. 5 | // The use and distribution terms for this software are covered by the 6 | // Microsoft Public License (http://opensource.org/licenses/MS-PL) 7 | // which can be found in the file MS-PL.txt at the root folder. 8 | 9 | #ifndef __ATLRESCE_H__ 10 | #define __ATLRESCE_H__ 11 | 12 | #pragma once 13 | 14 | #ifndef _WIN32_WCE 15 | #error atlresCE.h is only for Windows CE 16 | #endif 17 | 18 | 19 | #ifdef RC_INVOKED 20 | #ifndef _INC_WINDOWS 21 | 22 | #define VS_VERSION_INFO 1 23 | 24 | #ifdef APSTUDIO_INVOKED 25 | #define APSTUDIO_HIDDEN_SYMBOLS // Ignore following symbols 26 | #endif // APSTUDIO_INVOKED 27 | 28 | #ifndef WINVER 29 | #define WINVER 0x0400 // default to Windows Version 4.0 30 | #endif // !WINVER 31 | 32 | #if !defined(WCEOLE_ENABLE_DIALOGEX) 33 | #define DIALOGEX DIALOG DISCARDABLE 34 | #endif 35 | 36 | #include 37 | #define SHMENUBAR RCDATA 38 | 39 | #if defined(SHELLSDK_MODULES_AYGSHELL) 40 | #include 41 | #else 42 | #define NOMENU 0xFFFF 43 | #define IDS_SHNEW 1 44 | #define IDM_SHAREDNEW 10 45 | #define IDM_SHAREDNEWDEFAULT 11 46 | #endif 47 | #ifndef I_IMAGENONE 48 | #define I_IMAGENONE (-2) 49 | #endif 50 | 51 | #include 52 | 53 | #endif // !_INC_WINDOWS 54 | #endif // RC_INVOKED 55 | 56 | #include "atlres.h" 57 | 58 | #ifdef APSTUDIO_INVOKED 59 | #undef APSTUDIO_HIDDEN_SYMBOLS 60 | #endif // APSTUDIO_INVOKED 61 | 62 | // Visual Studio dialog editor bug fix 63 | #ifndef DS_FIXEDSYS 64 | #define DS_FIXEDSYS 0 65 | #endif 66 | 67 | #define IDC_INFOSTATIC 0xFFFE // == IDC_STATIC -1 68 | 69 | /////////////////////////////////////////////////////////////////////////////// 70 | // Smartphone and PPC 2005 Resource IDs 71 | 72 | // Command and associated string resource IDs 73 | #define ID_MENU_OK 0xE790 74 | #define ID_MENU_CANCEL 0xE791 75 | #define ID_MENU 0xE792 76 | #define ID_ACTION 0xE793 77 | #define ID_VIEW_FULLSCREEN 0xE802 78 | 79 | // MenuBar resource IDs 80 | #define ATL_IDM_MENU_DONE 0xE701 81 | #define ATL_IDM_MENU_CANCEL 0xE702 82 | #define ATL_IDM_MENU_DONECANCEL 0xE703 83 | 84 | // Default device MenuBar control ID and MenuBar resource ID 85 | #define ATL_IDW_MENU_BAR 0xE802 86 | 87 | // SmartPhone spinned controls ID offset for CSpinCtrl 88 | #define ATL_IDW_SPIN_ID 9999 89 | 90 | #endif // __ATLRESCE_H__ 91 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.sln.docstates 8 | 9 | # Build results 10 | 11 | [Dd]ebug/ 12 | [Rr]elease/ 13 | build/ 14 | [Bb]in/ 15 | [Oo]bj/ 16 | 17 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets 18 | !packages/*/build/ 19 | 20 | # MSTest test Results 21 | [Tt]est[Rr]esult*/ 22 | [Bb]uild[Ll]og.* 23 | 24 | *_i.c 25 | *_p.c 26 | *.ilk 27 | *.meta 28 | *.obj 29 | *.pch 30 | *.pdb 31 | *.pgc 32 | *.pgd 33 | *.rsp 34 | *.sbr 35 | *.tlb 36 | *.tli 37 | *.tlh 38 | *.tmp 39 | *.tmp_proj 40 | *.log 41 | *.vspscc 42 | *.vssscc 43 | .builds 44 | *.pidb 45 | *.log 46 | *.scc 47 | 48 | # Visual C++ cache files 49 | ipch/ 50 | *.aps 51 | *.ncb 52 | *.opensdf 53 | *.sdf 54 | *.cachefile 55 | 56 | # Visual Studio profiler 57 | *.psess 58 | *.vsp 59 | *.vspx 60 | 61 | # Guidance Automation Toolkit 62 | *.gpState 63 | 64 | # ReSharper is a .NET coding add-in 65 | _ReSharper*/ 66 | *.[Rr]e[Ss]harper 67 | 68 | # TeamCity is a build add-in 69 | _TeamCity* 70 | 71 | # DotCover is a Code Coverage Tool 72 | *.dotCover 73 | 74 | # NCrunch 75 | *.ncrunch* 76 | .*crunch*.local.xml 77 | 78 | # Installshield output folder 79 | [Ee]xpress/ 80 | 81 | # DocProject is a documentation generator add-in 82 | DocProject/buildhelp/ 83 | DocProject/Help/*.HxT 84 | DocProject/Help/*.HxC 85 | DocProject/Help/*.hhc 86 | DocProject/Help/*.hhk 87 | DocProject/Help/*.hhp 88 | DocProject/Help/Html2 89 | DocProject/Help/html 90 | 91 | # Click-Once directory 92 | publish/ 93 | 94 | # Publish Web Output 95 | *.Publish.xml 96 | 97 | # NuGet Packages Directory 98 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 99 | #packages/ 100 | 101 | # Windows Azure Build Output 102 | csx 103 | *.build.csdef 104 | 105 | # Windows Store app package directory 106 | AppPackages/ 107 | 108 | # Others 109 | sql/ 110 | *.Cache 111 | ClientBin/ 112 | [Ss]tyle[Cc]op.* 113 | ~$* 114 | *~ 115 | *.dbmdl 116 | *.[Pp]ublish.xml 117 | *.pfx 118 | *.publishsettings 119 | 120 | # RIA/Silverlight projects 121 | Generated_Code/ 122 | 123 | # Backup & report files from converting an old project file to a newer 124 | # Visual Studio version. Backup files are not needed, because we have git ;-) 125 | _UpgradeReport_Files/ 126 | Backup*/ 127 | UpgradeLog*.XML 128 | UpgradeLog*.htm 129 | 130 | # SQL Server files 131 | App_Data/*.mdf 132 | App_Data/*.ldf 133 | 134 | 135 | #LightSwitch generated files 136 | GeneratedArtifacts/ 137 | _Pvt_Extensions/ 138 | ModelManifest.xml 139 | 140 | # ========================= 141 | # Windows detritus 142 | # ========================= 143 | 144 | # Windows image file caches 145 | Thumbs.db 146 | ehthumbs.db 147 | 148 | # Folder config file 149 | Desktop.ini 150 | 151 | # Recycle Bin used on file shares 152 | $RECYCLE.BIN/ 153 | 154 | # Mac desktop service store files 155 | .DS_Store -------------------------------------------------------------------------------- /iBurnMgr/ResolveBootSupervisor.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * ResolveBootSupervisor.cpp 3 | * Note: iBurnMgr ResolveBootSupervisor 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include 10 | #include "APIController.h" 11 | #include "ResolveBootSupervisor.h" 12 | 13 | WCHAR g_resbootlog[100] = { 0 }; 14 | 15 | /* 16 | Function: BootFileCopy 17 | */ 18 | bool BootFileCopy(const wchar_t *searchPath,wchar_t *filelist[],const wchar_t *latter){ 19 | for (auto i=0; filelist[i] != nullptr; i++){ 20 | 21 | } 22 | return false; 23 | } 24 | 25 | 26 | namespace ResolveSupervisor{ 27 | DWORD WINAPI ResolveSupervisorThread(LPVOID lParam) 28 | { 29 | DWORD dRet; 30 | ResolveData* redata = static_cast(lParam); 31 | HWND hWnd = static_cast(redata->m_hWnd); 32 | wcscpy_s(g_resbootlog, L"Begin to repair the boot USB drive...\0"); 33 | PostMessage(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_RESOLVEBS, (LPARAM)g_resbootlog); 34 | if (ResolveSupervisor::FixUSBDeviceBoot(redata->latter.c_str())) 35 | { 36 | wcscpy_s(g_resbootlog, L"Resolve USB drive boot Success\0"); 37 | PostMessage(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_RESOLVEBS, (LPARAM)g_resbootlog); 38 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_FIX_UNLOCK, METRO_RATE_UNLOCK_OK); 39 | dRet = 0; 40 | } 41 | else{ 42 | wcscpy_s(g_resbootlog, L"Resolve USB drive boot Failure\0"); 43 | PostMessage(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_RESOLVEBS, (LPARAM)g_resbootlog); 44 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_FIX_UNLOCK, METRO_RATE_UNLOCK_ERR); 45 | dRet = 1; 46 | } 47 | return dRet; 48 | } 49 | 50 | bool ResolveSupervisor::FixUSBDeviceBoot(LPCWSTR DeviceLetter) 51 | { 52 | TCHAR BCDPath[MAX_UNC_PATH] = { 0 }; 53 | PROCESS_INFORMATION pi; 54 | STARTUPINFO sInfo; 55 | DWORD dwExitCode; 56 | ZeroMemory(&sInfo, sizeof(sInfo)); 57 | sInfo.cb = sizeof(sInfo); 58 | sInfo.dwFlags = STARTF_USESHOWWINDOW; 59 | sInfo.wShowWindow = SW_HIDE; 60 | ZeroMemory(&pi, sizeof(pi)); 61 | GetModuleFileNameW(NULL, BCDPath, MAX_UNC_PATH); 62 | (wcsrchr(BCDPath, _T('\\')))[0] = 0; 63 | (wcsrchr(BCDPath, _T('\\')))[0] = 0; 64 | wcscat_s(BCDPath, LR"(\utility\BCDBoot\bootsect.exe)"); 65 | if (!_waccess_s(BCDPath, 0) == 0) 66 | { 67 | return false; 68 | } 69 | wcscat_s(BCDPath, L" /NT60 "); 70 | wcscat_s(BCDPath, DeviceLetter); 71 | DWORD result = CreateProcessW(NULL, BCDPath, NULL, NULL, NULL, CREATE_NO_WINDOW, NULL, NULL, &sInfo, &pi); 72 | if (result == TRUE) 73 | { 74 | CloseHandle(pi.hThread); 75 | if (WAIT_TIMEOUT == WaitForSingleObject(pi.hProcess, INFINITE)) 76 | { 77 | TerminateProcess(pi.hProcess, 11); 78 | } 79 | GetExitCodeProcess(pi.hProcess, &dwExitCode); 80 | CloseHandle(pi.hProcess); 81 | if (dwExitCode != 0) 82 | { 83 | return false; 84 | } 85 | return true; 86 | } 87 | return false; 88 | } 89 | ResolveSupervisor::ResolveSupervisor() 90 | { 91 | 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/ChildFrm.h: -------------------------------------------------------------------------------- 1 | // [!output WTL_CHILD_FRAME_FILE].h : interface of the [!output WTL_CHILD_FRAME_CLASS] class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #pragma once 6 | 7 | class [!output WTL_CHILD_FRAME_CLASS] : public [!output WTL_CHILD_FRAME_BASE_CLASS]<[!output WTL_CHILD_FRAME_CLASS]> 8 | { 9 | public: 10 | DECLARE_FRAME_WND_CLASS(NULL, IDR_MDICHILD) 11 | 12 | [!if WTL_USE_VIEW] 13 | [!output WTL_VIEW_CLASS] m_view; 14 | 15 | [!endif] 16 | [!if WTL_VIEWTYPE_LISTBOX || WTL_VIEWTYPE_EDIT || WTL_VIEWTYPE_RICHEDIT] 17 | CFont m_font; 18 | 19 | [!endif] 20 | [!if WTL_USE_CPP_FILES] 21 | virtual void OnFinalMessage(HWND /*hWnd*/); 22 | [!else] 23 | virtual void OnFinalMessage(HWND /*hWnd*/) 24 | { 25 | delete this; 26 | } 27 | [!endif] 28 | 29 | BEGIN_MSG_MAP([!output WTL_CHILD_FRAME_CLASS]) 30 | [!if WTL_USE_VIEW] 31 | MESSAGE_HANDLER(WM_CREATE, OnCreate) 32 | [!endif] 33 | MESSAGE_HANDLER(WM_FORWARDMSG, OnForwardMsg) 34 | CHAIN_MSG_MAP([!output WTL_CHILD_FRAME_BASE_CLASS]<[!output WTL_CHILD_FRAME_CLASS]>) 35 | END_MSG_MAP() 36 | 37 | // Handler prototypes (uncomment arguments if needed): 38 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 39 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 40 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 41 | 42 | [!if WTL_USE_VIEW] 43 | [!if WTL_USE_CPP_FILES] 44 | LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled); 45 | [!else] 46 | LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled) 47 | { 48 | [!if WTL_VIEWTYPE_FORM] 49 | m_hWndClient = m_view.Create(m_hWnd); 50 | [!else] 51 | [!if WTL_VIEWTYPE_HTML] 52 | //TODO: Replace with a URL of your choice 53 | m_hWndClient = m_view.Create(m_hWnd, rcDefault, _T("http://www.microsoft.com"), [!output WTL_VIEW_STYLES], [!output WTL_VIEW_EX_STYLES]); 54 | [!else] 55 | m_hWndClient = m_view.Create(m_hWnd, rcDefault, NULL, [!output WTL_VIEW_STYLES], [!output WTL_VIEW_EX_STYLES]); 56 | [!if WTL_VIEWTYPE_LISTBOX || WTL_VIEWTYPE_EDIT || WTL_VIEWTYPE_RICHEDIT] 57 | m_font = AtlCreateControlFont(); 58 | m_view.SetFont(m_font); 59 | [!endif] 60 | [!if WTL_VIEWTYPE_SCROLL] 61 | // replace with appropriate values for the app 62 | m_view.SetScrollSize(2000, 1000); 63 | [!endif] 64 | [!endif] 65 | [!endif] 66 | 67 | bHandled = FALSE; 68 | return 1; 69 | } 70 | 71 | [!endif] 72 | [!endif] 73 | [!if WTL_USE_CPP_FILES] 74 | LRESULT OnForwardMsg(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/); 75 | [!else] 76 | LRESULT OnForwardMsg(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/) 77 | { 78 | LPMSG pMsg = (LPMSG)lParam; 79 | 80 | [!if WTL_USE_VIEW] 81 | if([!output WTL_CHILD_FRAME_BASE_CLASS]<[!output WTL_CHILD_FRAME_CLASS]>::PreTranslateMessage(pMsg)) 82 | return TRUE; 83 | 84 | return m_view.PreTranslateMessage(pMsg); 85 | [!else] 86 | return [!output WTL_CHILD_FRAME_BASE_CLASS]<[!output WTL_CHILD_FRAME_CLASS]>::PreTranslateMessage(pMsg); 87 | [!endif] 88 | } 89 | [!endif] 90 | }; 91 | -------------------------------------------------------------------------------- /iBurnMgr/FileManagerController.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * FileManagerController.cpp 3 | * Note: iBurnMgr FileManagerController 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include "APIController.h" 14 | 15 | #pragma comment(lib,"propsys.lib") 16 | #pragma comment(lib,"shlwapi.lib") 17 | 18 | typedef COMDLG_FILTERSPEC FileType; 19 | 20 | typedef struct _DialogInfo{ 21 | wchar_t DlgTitle[256]; 22 | wchar_t DefualtType[256]; 23 | //FileType* filetype; 24 | }DialogInfo; 25 | 26 | const FileType FileArg[] = 27 | { 28 | { L"ISO/UDF file (*.iso)", L"*.iso" }, 29 | { L"Onther Image file (*.img;*.dvd;*.bin)", L"*.img;*.dvd;*.bin" }, 30 | { L"All Files (*.*)", L"*.*" } 31 | }; 32 | UINT Argc = ARRAYSIZE(FileArg); 33 | //DialogInfo dlf={L"´ò¿ªÔ´Îļþ",L"cpp"}; 34 | void ReportErrorEx(LPCWSTR pszFunction, HRESULT hr) 35 | { 36 | wchar_t szMessage[64]; 37 | if (SUCCEEDED(StringCchPrintfW(szMessage, ARRAYSIZE(szMessage), 38 | L"%s failed w/hr 0x%08lx", pszFunction, hr))) 39 | { 40 | MessageBoxW(NULL, szMessage, L"Error", MB_ICONERROR); 41 | } 42 | } 43 | 44 | LRESULT DiscoverInstallerIMAGE(HWND hWnd, PWSTR nameofimage) 45 | { 46 | HRESULT hr = S_OK; 47 | 48 | // Create a new common open file dialog. 49 | IFileDialog *pfd = NULL; 50 | hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, 51 | IID_PPV_ARGS(&pfd)); 52 | if (SUCCEEDED(hr)) 53 | { 54 | if (SUCCEEDED(hr)) 55 | { 56 | hr = pfd->SetTitle(L"Select the Installation image"); 57 | } 58 | 59 | // Specify file types for the file dialog. 60 | if (SUCCEEDED(hr)) 61 | { 62 | hr = pfd->SetFileTypes(Argc, FileArg); 63 | if (SUCCEEDED(hr)) 64 | { 65 | // Set the selected file type index to ISO Image. 66 | hr = pfd->SetFileTypeIndex(1); 67 | } 68 | } 69 | 70 | // Set the default extension to be added to file names as ".iso" 71 | if (SUCCEEDED(hr)) 72 | { 73 | hr = pfd->SetDefaultExtension(L"*.iso"); 74 | } 75 | 76 | // Show the open file dialog. 77 | if (SUCCEEDED(hr)) 78 | { 79 | hr = pfd->Show(hWnd); 80 | if (SUCCEEDED(hr)) 81 | { 82 | // Get the result of the open file dialog. 83 | IShellItem *psiResult = NULL; 84 | hr = pfd->GetResult(&psiResult); 85 | if (SUCCEEDED(hr)) 86 | { 87 | PWSTR pszPath = NULL; 88 | hr = psiResult->GetDisplayName(SIGDN_FILESYSPATH, &pszPath); 89 | if (SUCCEEDED(hr)) 90 | { 91 | wcscpy_s(nameofimage, (1024*32-1), pszPath); 92 | //MessageBox(hWnd, pszPath, L"The selected file is", MB_OK); 93 | CoTaskMemFree(pszPath); 94 | } 95 | psiResult->Release(); 96 | } 97 | } 98 | else 99 | { 100 | if (hr == HRESULT_FROM_WIN32(ERROR_CANCELLED)) 101 | { 102 | // User cancelled the dialog... 103 | } 104 | } 105 | } 106 | 107 | pfd->Release(); 108 | } 109 | 110 | // Report the error. 111 | if (FAILED(hr)) 112 | { 113 | // If it's not that the user cancelled the dialog, report the error in a 114 | // message box. 115 | if (hr != HRESULT_FROM_WIN32(ERROR_CANCELLED)) 116 | { 117 | ReportErrorEx(L"DiscoverInstallerIMAGE", hr); 118 | } 119 | } 120 | return hr; 121 | } 122 | -------------------------------------------------------------------------------- /iBurnMgr/InformationWindow.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * iBurnMgrAbout.cpp 3 | * Note: iBurnMgr iBurnMgrAbout 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include 10 | #include 11 | #include 12 | #include "resource.h" 13 | #ifndef ASSERT 14 | # ifdef _DEBUG 15 | # include 16 | # define ASSERT(x) assert( x ) 17 | # define ASSERT_HERE assert( FALSE ) 18 | # else// _DEBUG 19 | # define ASSERT(x) 20 | # endif//_DEBUG 21 | #endif//ASSERT 22 | 23 | /////////////////////////////////////////////////////////////////// 24 | // a handy macro to get the number of characters (not bytes!) 25 | // a string buffer can hold 26 | 27 | #ifndef _tsizeof 28 | # define _tsizeof( s ) (sizeof(s)/sizeof(s[0])) 29 | #endif//_tsizeof 30 | 31 | #include 32 | #include 33 | 34 | HRESULT CALLBACK 35 | TaskDialogCallbackProc( 36 | __in HWND hwnd, 37 | __in UINT msg, 38 | __in WPARAM wParam, 39 | __in LPARAM lParam, 40 | __in LONG_PTR lpRefData 41 | ) 42 | { 43 | switch (msg) 44 | { 45 | case TDN_CREATED: 46 | ::SetForegroundWindow(hwnd); 47 | break; 48 | case TDN_RADIO_BUTTON_CLICKED: 49 | break; 50 | case TDN_BUTTON_CLICKED: 51 | break; 52 | case TDN_HYPERLINK_CLICKED: 53 | ShellExecute(hwnd, NULL, (LPCTSTR)lParam, NULL, NULL, SW_SHOWNORMAL); 54 | break; 55 | } 56 | 57 | return S_OK; 58 | } 59 | 60 | LRESULT WINAPI CreateTaskDialogIndirectFd( 61 | __in HWND hwndParent, 62 | __in HINSTANCE hInstance, 63 | __out_opt int * pnButton, 64 | __out_opt int * pnRadioButton 65 | ) 66 | { 67 | TASKDIALOGCONFIG tdConfig; 68 | BOOL bElevated = FALSE; 69 | memset(&tdConfig, 0, sizeof(tdConfig)); 70 | 71 | tdConfig.cbSize = sizeof(tdConfig); 72 | 73 | tdConfig.hwndParent = hwndParent; 74 | tdConfig.hInstance = hInstance; 75 | tdConfig.dwFlags = 76 | TDF_ALLOW_DIALOG_CANCELLATION | 77 | TDF_EXPAND_FOOTER_AREA | 78 | TDF_POSITION_RELATIVE_TO_WINDOW | 79 | TDF_ENABLE_HYPERLINKS; 80 | 81 | //tdConfig.cRadioButtons = ARRAYSIZE(buttons); 82 | //tdConfig.pRadioButtons = buttons; 83 | tdConfig.nDefaultRadioButton = *pnRadioButton; 84 | 85 | tdConfig.pszWindowTitle = L"About iBurnMgr"; 86 | 87 | tdConfig.pszMainInstruction = _T("iBurnMgr"); 88 | 89 | //tdConfig.pszMainIcon = bElevated ? TD_SHIELD_ICON : TD_INFORMATION_ICON; 90 | tdConfig.hMainIcon = static_cast(LoadIcon(GetModuleHandle(nullptr), MAKEINTRESOURCE(IDI_ICON_IBURN))); 91 | tdConfig.dwFlags |= TDF_USE_HICON_MAIN; 92 | 93 | TCHAR szContent[256]; // should be long enough 94 | 95 | wcscpy_s(szContent, L"Copyright © 2017 The ForceStudio. All Rights Reserved."); 96 | 97 | tdConfig.pszContent = szContent; 98 | WCHAR urlStr[1024] = { 0 }; 99 | ::LoadStringW(GetModuleHandle(nullptr), IDR_APP_URL_STRING, urlStr, 1024); 100 | WCHAR szStr[2048] = { 0 }; 101 | wsprintfW(szStr, L"For more information about this tool,\nVisit: Force\xAEStudio", urlStr); 102 | tdConfig.pszExpandedInformation = szStr; 103 | tdConfig.pszCollapsedControlText = _T("More information"); 104 | tdConfig.pszExpandedControlText = _T("Less information"); 105 | tdConfig.pfCallback = TaskDialogCallbackProc; 106 | 107 | HRESULT hr = TaskDialogIndirect(&tdConfig, pnButton, pnRadioButton, NULL); 108 | 109 | return hr; 110 | } 111 | -------------------------------------------------------------------------------- /iBurnMgr/ExplorerCombo.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * ExplorerCombo.h 3 | * Note: iBurnMgr ExplorerCombo 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | 9 | #ifndef __EXPLORERCOMBO_H__ 10 | #define __EXPLORERCOMBO_H__ 11 | 12 | #pragma once 13 | #include "Precompiled.h" 14 | #include 15 | #include 16 | #include 17 | #include 18 | //#include "resource.h" 19 | 20 | 21 | class CExplorerCombo : public CWindowImpl 22 | { 23 | public: 24 | enum 25 | { 26 | m_cxGap = 2, 27 | m_cxMinDropWidth = 200 28 | }; 29 | 30 | CComboBox m_cb; 31 | CToolBarCtrl m_tb; 32 | SIZE m_sizeTB; 33 | 34 | DECLARE_WND_SUPERCLASS(_T("Metro.AutoComplete.Native"), CComboBoxEx::GetWndClassName()) 35 | 36 | BEGIN_MSG_MAP(CExplorerCombo) 37 | MESSAGE_HANDLER(WM_CREATE, OnCreate) 38 | MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd) 39 | MESSAGE_HANDLER(WM_WINDOWPOSCHANGING, OnWindowPosChanging) 40 | END_MSG_MAP() 41 | 42 | LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/) 43 | { 44 | // let the combo box initialize itself 45 | LRESULT lRet = DefWindowProc(uMsg, wParam, lParam); 46 | 47 | if(lRet != -1) 48 | { 49 | // adjust the drop-down width 50 | m_cb = GetComboCtrl(); 51 | m_cb.SetDroppedWidth(m_cxMinDropWidth); 52 | 53 | // create a toolbar for the GO button 54 | m_tb = CFrameWindowImplBase<>::CreateSimpleToolBarCtrl(m_hWnd, 10086, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE | TBSTYLE_LIST); 55 | LPCTSTR lpszStrings = _T("Go\0"); 56 | m_tb.AddStrings(lpszStrings); 57 | 58 | RECT rect; 59 | m_tb.GetItemRect(0, &rect); 60 | m_sizeTB.cx = rect.right; 61 | m_sizeTB.cy = rect.bottom; 62 | } 63 | 64 | return lRet; 65 | } 66 | 67 | LRESULT OnEraseBkgnd(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled) 68 | { 69 | CDCHandle dc = (HDC)wParam; 70 | CWindow wndParent = GetParent(); 71 | 72 | // Forward this to the parent window, rebar bands are transparent 73 | POINT pt = { 0, 0 }; 74 | MapWindowPoints(wndParent, &pt, 1); 75 | dc.OffsetWindowOrg(pt.x, pt.y, &pt); 76 | LRESULT lRet = wndParent.SendMessage(WM_ERASEBKGND, (WPARAM)dc.m_hDC); 77 | dc.SetWindowOrg(pt.x, pt.y); 78 | 79 | bHandled = (lRet != 0); 80 | return lRet; 81 | } 82 | 83 | LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) 84 | { 85 | if(m_tb.m_hWnd == NULL) 86 | { 87 | bHandled = FALSE; 88 | return 1; 89 | } 90 | 91 | // copy the WINDOWPOS struct and adjust for the GO button 92 | WINDOWPOS wp = *(LPWINDOWPOS)lParam; 93 | wp.cx -= m_sizeTB.cx + m_cxGap; 94 | LRESULT lRet = DefWindowProc(uMsg, wParam, (LPARAM)&wp); 95 | 96 | // paint below the GO button 97 | RECT rcGo = { wp.cx, 0, wp.cx + m_sizeTB.cx + m_cxGap, wp.cy }; 98 | InvalidateRect(&rcGo); 99 | 100 | // center the GO button relative to the combo box 101 | RECT rcCombo; 102 | m_cb.GetWindowRect(&rcCombo); 103 | int y = (rcCombo.bottom - rcCombo.top - m_sizeTB.cy) / 2; 104 | // if(y < 0) 105 | // y = 0; 106 | 107 | // position the GO button on the right 108 | m_tb.SetWindowPos(NULL, wp.cx + m_cxGap, y, m_sizeTB.cx, m_sizeTB.cy, SWP_SHOWWINDOW | SWP_NOACTIVATE | SWP_NOOWNERZORDER); 109 | 110 | return lRet; 111 | } 112 | }; 113 | 114 | #endif //__EXPLORERCOMBO_H__ 115 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## USB Device Boot Burn Manager 2 | 3 | iBurnMgr is a `Modern Style` USB Drives Burn Boot Manager. 4 | iBurnMgr is developed using C++, runs on Windows, a production Windows 10 USB installation disk tools 5 | iBurnMgr used WTL framework, using Direct2D rendering Push Button, close and minimize buttons, and backgrounds, 6 | functional areas. Text is output using DirectWrite,MessageBox is TaskDialog replaced. 7 | Format the USB flash drive comes format.com tools rely on Windows, unzip the ISO image using 7z, 8 | repair USB flash drive using the Windows ADK's bootsect.exe 9 | In the second edition or third edition, iBurnMgr will eliminate reliance on third-party tools. 10 | 11 | iBurnMgr now Support Multilanguage. 12 | 13 | iBurnMgr not enable to build Win32! 14 | 15 | ### Internal 16 | 1. Format: 17 | 18 | ```c 19 | BOOL WINAPI IVdsVolumeFormat( 20 | LPCWSTR latter, 21 | LPWSTR pwszLabel, 22 | FormatFailedCallback fcall, 23 | void *data) 24 | { 25 | if (!VAILED_LATTER(latter[0]) || latter[1] != ':') return FALSE; 26 | HRESULT hr, AsyncHr; 27 | IVdsAsync *pAsync = NULL; 28 | VDS_ASYNC_OUTPUT AsyncOut; 29 | 30 | hr = CoInitializeSecurity( 31 | NULL, 32 | -1, 33 | NULL, 34 | NULL, 35 | RPC_C_AUTHN_LEVEL_CONNECT, 36 | RPC_C_IMP_LEVEL_IMPERSONATE, 37 | NULL, 38 | 0, 39 | NULL 40 | ); 41 | IVdsServiceLoader *pLoader; 42 | IUnknown *pUnk; 43 | ULONG ulFetched = 0; 44 | hr = CoCreateInstance(CLSID_VdsLoader, 45 | NULL, 46 | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER, 47 | IID_IVdsServiceLoader, 48 | (void **)&pLoader 49 | ); 50 | if (hr != S_OK) return false; 51 | IVdsService *pService; 52 | hr = pLoader->LoadService(NULL, &pService); 53 | pLoader->Release(); 54 | pLoader = NULL; 55 | if (hr != S_OK){ 56 | if (fcall){ 57 | fcall(ErrorCodesMessage(hr), data); 58 | } 59 | return FALSE; 60 | } 61 | VDS_DRIVE_LETTER_PROP mDriveLetterPropArray[1]; 62 | hr = pService->QueryDriveLetters(latter[0], 1, mDriveLetterPropArray); 63 | if (hr != S_OK){ 64 | goto _bailout; 65 | } 66 | hr = pService->GetObjectW(mDriveLetterPropArray->volumeId, VDS_OT_VOLUME, &pUnk); 67 | if (hr != S_OK){ 68 | goto _bailout; 69 | } 70 | IVdsVolume *pVolume; 71 | hr = pUnk->QueryInterface(IID_IVdsVolume, (void **)&pVolume); 72 | if (hr != S_OK){ 73 | SAFE_RELEASE(pUnk); 74 | goto _bailout; 75 | } 76 | IVdsVolumeMF3 *pVolumeMF3; 77 | hr = pVolume->QueryInterface(IID_IVdsVolumeMF3, (void **)&pVolumeMF3); 78 | 79 | hr = pVolumeMF3->FormatEx2(L"NTFS", 1, 0, pwszLabel, VDS_FSOF_QUICK, &pAsync); 80 | hr = pAsync->Wait(&AsyncHr, &AsyncOut); 81 | if (FAILED(hr)){ 82 | if (fcall){ 83 | fcall(ErrorCodesMessage(hr), data); 84 | } 85 | } 86 | else if (FAILED(AsyncHr)){ 87 | if (fcall){ 88 | fcall(ErrorCodesMessage(hr), data); 89 | } 90 | } 91 | else{ 92 | if (fcall){ 93 | fcall(L"Format volume Success done. ", data); 94 | } 95 | } 96 | SAFE_RELEASE(pVolume); 97 | SAFE_RELEASE(pVolumeMF3); 98 | _bailout: 99 | SAFE_RELEASE(pService); 100 | CoUninitialize(); 101 | return hr==S_OK; 102 | } 103 | ``` 104 | 105 | 2. Uncompress ISO: 106 | 107 | >7z x file.iso -aoa -y -o X:\ 108 | 109 | 3. Boot: 110 | 111 | >bootsect /NT60 X: 112 | 113 | 114 | 115 | ### Build 116 | 117 | run WDExpress [VisualStudio 2012(2013) for Desktop] 118 | or Type: 119 | > msbuild iBurnMgr.sln /t:Rebuild /p:Configuration=Release 120 | 121 | ### Run 122 | 123 | last double click iBurnMgr.exe ,or Right-to run with administrator privileges. 124 | 125 | Good Luck! 126 | 127 | 128 | 129 | #### Screenshot 130 | 131 | NewUI: 132 | ![NewUI](./docs/images/NewUI.PNG) 133 | 134 | 135 | Chinese UI: 136 | ![ChineseUI](./docs/images/zh-CN.PNG) 137 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/View.h: -------------------------------------------------------------------------------- 1 | // [!output WTL_VIEW_FILE].h : interface of the [!output WTL_VIEW_CLASS] class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #pragma once 6 | 7 | [!if WTL_VIEWTYPE_GENERIC || WTL_VIEWTYPE_FORM || WTL_VIEWTYPE_SCROLL] 8 | class [!output WTL_VIEW_CLASS] : public [!output WTL_VIEW_BASE_CLASS]<[!output WTL_VIEW_CLASS]> 9 | [!else] 10 | class [!output WTL_VIEW_CLASS] : public [!output WTL_VIEW_BASE_CLASS]<[!output WTL_VIEW_CLASS], [!output WTL_VIEW_BASE]> 11 | [!endif] 12 | { 13 | public: 14 | [!if WTL_VIEWTYPE_GENERIC || WTL_VIEWTYPE_SCROLL] 15 | DECLARE_WND_CLASS(NULL) 16 | [!else] 17 | [!if WTL_VIEWTYPE_FORM] 18 | enum { IDD = IDD_[!output UPPERCASE_SAFE_PROJECT_NAME]_FORM }; 19 | [!else] 20 | DECLARE_WND_SUPERCLASS(NULL, [!output WTL_VIEW_BASE]::GetWndClassName()) 21 | [!endif] 22 | [!endif] 23 | [!if WTL_USE_CPP_FILES] 24 | 25 | BOOL PreTranslateMessage(MSG* pMsg); 26 | [!else] 27 | 28 | BOOL PreTranslateMessage(MSG* pMsg) 29 | { 30 | [!if WTL_HOST_AX] 31 | if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) && 32 | (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST)) 33 | return FALSE; 34 | 35 | HWND hWndCtl = ::GetFocus(); 36 | if(IsChild(hWndCtl)) 37 | { 38 | // find a direct child of the dialog from the window that has focus 39 | while(::GetParent(hWndCtl) != m_hWnd) 40 | hWndCtl = ::GetParent(hWndCtl); 41 | 42 | // give control a chance to translate this message 43 | if(::SendMessage(hWndCtl, WM_FORWARDMSG, 0, (LPARAM)pMsg) != 0) 44 | return TRUE; 45 | } 46 | 47 | [!endif] 48 | [!if WTL_VIEWTYPE_HTML] 49 | if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) && 50 | (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST)) 51 | return FALSE; 52 | 53 | // give HTML page a chance to translate this message 54 | return (BOOL)SendMessage(WM_FORWARDMSG, 0, (LPARAM)pMsg); 55 | [!else] 56 | [!if WTL_VIEWTYPE_FORM] 57 | return CWindow::IsDialogMessage(pMsg); 58 | [!else] 59 | pMsg; 60 | return FALSE; 61 | [!endif] 62 | [!endif] 63 | } 64 | [!endif] 65 | [!if WTL_VIEWTYPE_SCROLL] 66 | [!if WTL_USE_CPP_FILES] 67 | 68 | void DoPaint(CDCHandle dc); 69 | [!else] 70 | 71 | void DoPaint(CDCHandle dc) 72 | { 73 | //TODO: Add your drawing code here 74 | } 75 | [!endif] 76 | [!endif] 77 | [!if WTL_APPTYPE_TABVIEW] 78 | [!if WTL_USE_CPP_FILES] 79 | 80 | virtual void OnFinalMessage(HWND /*hWnd*/); 81 | [!else] 82 | 83 | virtual void OnFinalMessage(HWND /*hWnd*/) 84 | { 85 | delete this; 86 | } 87 | [!endif] 88 | [!endif] 89 | 90 | BEGIN_MSG_MAP([!output WTL_VIEW_CLASS]) 91 | [!if WTL_VIEWTYPE_GENERIC] 92 | MESSAGE_HANDLER(WM_PAINT, OnPaint) 93 | [!endif] 94 | [!if WTL_VIEWTYPE_SCROLL] 95 | CHAIN_MSG_MAP([!output WTL_VIEW_BASE_CLASS]<[!output WTL_VIEW_CLASS]>) 96 | [!endif] 97 | END_MSG_MAP() 98 | 99 | // Handler prototypes (uncomment arguments if needed): 100 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 101 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 102 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 103 | [!if WTL_VIEWTYPE_GENERIC] 104 | [!if WTL_USE_CPP_FILES] 105 | 106 | LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 107 | [!else] 108 | 109 | LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 110 | { 111 | CPaintDC dc(m_hWnd); 112 | 113 | //TODO: Add your drawing code here 114 | 115 | return 0; 116 | } 117 | [!endif] 118 | [!endif] 119 | }; 120 | -------------------------------------------------------------------------------- /iBurnMgr/LowLevelFormat.txt: -------------------------------------------------------------------------------- 1 | //Low level format disk driver COM interface 2 | #include 3 | #include 4 | #include 5 | #include 6 | BOOL GetDiskGeometry(HANDLE hDisk,PDISK_GEOMETRY lpGeometry ) 7 | { 8 | DWORD ReturnedByteCount; 9 | 10 | return DeviceIoControl( 11 | hDisk, 12 | IOCTL_DISK_GET_DRIVE_GEOMETRY, 13 | NULL, 14 | 0, 15 | lpGeometry, 16 | sizeof(*lpGeometry), 17 | &ReturnedByteCount, 18 | NULL 19 | ); 20 | } 21 | DWORD GetSupportedGeometrys( 22 | HANDLE hDisk 23 | ) 24 | { 25 | DWORD ReturnedByteCount; 26 | BOOL b; 27 | DWORD NumberSupported; 28 | 29 | b = DeviceIoControl( 30 | hDisk, 31 | IOCTL_DISK_GET_MEDIA_TYPES, 32 | NULL, 33 | 0, 34 | SupportedGeometry, 35 | sizeof(SupportedGeometry), 36 | &ReturnedByteCount, 37 | NULL 38 | ); 39 | if ( b ) { 40 | NumberSupported = ReturnedByteCount / sizeof(DISK_GEOMETRY); 41 | } 42 | else { 43 | NumberSupported = 0; 44 | } 45 | SupportedGeometryCount = NumberSupported; 46 | 47 | return NumberSupported; 48 | } 49 | BOOL LowLevelFormat(HANDLE hDisk,PDISK_GEOMETRY lpGeometry ) 50 | { 51 | FORMAT_PARAMETERS FormatParameters; 52 | PBAD_TRACK_NUMBER lpBadTrack; 53 | UINT i; 54 | BOOL b; 55 | DWORD ReturnedByteCount; 56 | 57 | FormatParameters.MediaType = lpGeometry->MediaType; 58 | FormatParameters.StartHeadNumber = 0; 59 | FormatParameters.EndHeadNumber = lpGeometry->TracksPerCylinder - 1; 60 | lpBadTrack = (PBAD_TRACK_NUMBER) LocalAlloc(LMEM_ZEROINIT,lpGeometry->TracksPerCylinder*sizeof(*lpBadTrack)); 61 | 62 | for (i = 0; i < lpGeometry->Cylinders.LowPart; i++) { 63 | 64 | FormatParameters.StartCylinderNumber = i; 65 | FormatParameters.EndCylinderNumber = i; 66 | 67 | b = DeviceIoControl( 68 | hDisk, 69 | IOCTL_DISK_FORMAT_TRACKS, 70 | &FormatParameters, 71 | sizeof(FormatParameters), 72 | lpBadTrack, 73 | lpGeometry->TracksPerCylinder*sizeof(*lpBadTrack), 74 | &ReturnedByteCount, 75 | NULL 76 | ); 77 | 78 | if (!b ) { 79 | LocalFree(lpBadTrack); 80 | return b; 81 | } 82 | } 83 | 84 | LocalFree(lpBadTrack); 85 | 86 | return TRUE; 87 | } 88 | 89 | BOOL LockVolume( HANDLE hDisk ) 90 | { 91 | DWORD ReturnedByteCount; 92 | 93 | return DeviceIoControl( 94 | hDisk, 95 | FSCTL_LOCK_VOLUME, 96 | NULL, 97 | 0, 98 | NULL, 99 | 0, 100 | &ReturnedByteCount, 101 | NULL 102 | ); 103 | } 104 | 105 | BOOL UnlockVolume( HANDLE hDisk ) 106 | { 107 | DWORD ReturnedByteCount; 108 | 109 | return DeviceIoControl( 110 | hDisk, 111 | FSCTL_UNLOCK_VOLUME, 112 | NULL, 113 | 0, 114 | NULL, 115 | 0, 116 | &ReturnedByteCount, 117 | NULL 118 | ); 119 | } 120 | 121 | BOOL DismountVolume( HANDLE hDisk ) 122 | { 123 | DWORD ReturnedByteCount; 124 | 125 | return DeviceIoControl( 126 | hDisk, 127 | FSCTL_DISMOUNT_VOLUME, 128 | NULL, 129 | 0, 130 | NULL, 131 | 0, 132 | &ReturnedByteCount, 133 | NULL 134 | ); 135 | } 136 | /// Warning -------------------------------------------------------------------------------- /iBurnMgr/MUIController.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * MUIController.cpp 3 | * Note: iBurnMgr MUIController 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include "APIController.h" 10 | #include "MUIController.h" 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | NAMESPACEMETRO 17 | MUI::LocaleInfo localeinfo = { {0}, 0 }; 18 | namespace MUI{ 19 | MultiUI mutliui; 20 | static LocnameBase localbase[] = { 21 | { "chs", 2052 }, 22 | {"cht", 1028}, 23 | {"enu",1033} 24 | }; 25 | const char *getLocaleName(DWORD lcid) 26 | { 27 | for (auto i : localbase) 28 | { 29 | if (i.id == lcid) 30 | return i.name; 31 | } 32 | return "english"; 33 | } 34 | 35 | MultiUI::MultiUI() 36 | { 37 | 38 | } 39 | DWORD MultiUI::initialize() 40 | { 41 | UILcId = GetSystemDefaultLCID(); 42 | WCHAR szLocal[LOCALE_NAME_MAX_LENGTH] = { 0 }; 43 | WCHAR szlangFile[MAX_UNC_PATH] = {0}; 44 | DWORD eror = ERROR_SUCCESS; 45 | std::wstring initfile; 46 | std::wstring langFile; 47 | GetModuleFileNameW(GetModuleHandleW(NULL), szlangFile, MAX_UNC_PATH); 48 | initfile = szlangFile; 49 | initfile+=L".ini"; 50 | if (_waccess_s(initfile.c_str(), 4) == 0){ 51 | int x=GetPrivateProfileStringW(L"iBurnMgr.Config", L"LocaleName", NULL, szLocal, LOCALE_NAME_MAX_LENGTH, initfile.c_str()); 52 | localeinfo.lcid = GetPrivateProfileIntW(L"iBurnMgr.Config", L"LCID", NULL, initfile.c_str()); 53 | } 54 | if (localeinfo.lcid == 0) 55 | localeinfo.lcid = UILcId; 56 | if (!wcslen(szLocal)) 57 | { 58 | if (LCIDToLocaleName(UILcId, szLocal, LOCALE_NAME_MAX_LENGTH, LOCALE_ALLOW_NEUTRAL_NAMES) == 0) 59 | { 60 | eror = GetLastError(); 61 | } 62 | } 63 | localeinfo.localename = szLocal; 64 | (wcsrchr(szlangFile, L'\\'))[1]=0; 65 | langFile = szlangFile; 66 | langFile += szLocal; 67 | langFile += L".lang"; 68 | if (!_waccess_s(langFile.c_str(), 0) == 0) 69 | { 70 | langFile = szlangFile; 71 | langFile+=L"en.lang"; 72 | localeinfo.localename = L"en-US"; 73 | } 74 | this->ifilename = langFile; 75 | if (!loading()) 76 | { 77 | return 1; 78 | } 79 | //for (auto x : m_langTree) 80 | //{ 81 | // MessageBoxW(nullptr, x.second.c_str(), x.first.c_str(), MB_OK); 82 | //} 83 | return 0; 84 | } 85 | std::wstring MultiUI::as_string(std::wstring &key, std::wstring &value) 86 | { 87 | auto iter = m_langTree.find(key); 88 | if (iter == m_langTree.end()) 89 | return value; 90 | return m_langTree.at(key); 91 | } 92 | std::wstring MultiUI::as_string(const wchar_t *key, const wchar_t *value) 93 | { 94 | std::wstring k = key; 95 | std::wstring v = value; 96 | return as_string(k, v); 97 | } 98 | bool MultiUI::loading() 99 | { 100 | wchar_t szBuffer[4096]; 101 | std::wstring newLineStr = L"\\n"; 102 | std::wstring newLine = L"\n"; 103 | std::wstring bufferString; 104 | std::wifstream file(this->ifilename); 105 | file.imbue(std::locale(getLocaleName(UILcId))); 106 | if (!file.is_open()) 107 | return false; 108 | while (!file.eof()) 109 | { 110 | file.getline(szBuffer,4096); 111 | bufferString = szBuffer; 112 | if (bufferString[0] != '#'&&bufferString[0] != '/'&&bufferString[0]!='[') 113 | { 114 | auto np = bufferString.find('='); 115 | if (np != bufferString.npos) 116 | { 117 | std::wstring value = bufferString.substr(np + 1); 118 | size_t index=0; 119 | while ((index = value.find(L"\\n")) != value.npos) 120 | { 121 | value.replace(index, 2, L"\n"); 122 | } 123 | m_langTree.insert(std::pair(bufferString.substr(0, np),value)); 124 | } 125 | } 126 | } 127 | return true; 128 | } 129 | } 130 | ENDNAMESPACE 131 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | // Change these values to use different versions 9 | [!if WTL_USE_RIBBON] 10 | #define WINVER 0x0601 11 | #define _WIN32_WINNT 0x0601 12 | #define _WIN32_IE 0x0700 13 | [!else] 14 | #define WINVER 0x0500 15 | #define _WIN32_WINNT 0x0501 16 | #define _WIN32_IE 0x0501 17 | [!endif] 18 | #define _RICHEDIT_VER 0x0500 19 | 20 | [!if WTL_COM_SERVER] 21 | #define _ATL_APARTMENT_THREADED 22 | 23 | [!endif] 24 | [!if WTL_USE_EXTERNAL_ATL] 25 | // This project was generated for VC++ Express and external ATL from Platform SDK or DDK. 26 | // Comment out this line to build the project with different versions of VC++ and ATL. 27 | #define _WTL_SUPPORT_EXTERNAL_ATL 28 | 29 | // Support for VC++ Express & external ATL 30 | #ifdef _WTL_SUPPORT_EXTERNAL_ATL 31 | #define ATL_NO_LEAN_AND_MEAN 32 | #include 33 | 34 | #if (_ATL_VER < 0x0800) 35 | #define _CRT_SECURE_NO_DEPRECATE 36 | #pragma conform(forScope, off) 37 | #pragma comment(linker, "/NODEFAULTLIB:atlthunk.lib") 38 | #endif 39 | #endif // _WTL_SUPPORT_EXTERNAL_ATL 40 | 41 | [!endif] 42 | #include 43 | [!if WTL_USE_EXTERNAL_ATL] 44 | 45 | // Support for VC++ Express & external ATL 46 | #ifdef _WTL_SUPPORT_EXTERNAL_ATL 47 | // for #pragma prefast 48 | #ifndef _PREFAST_ 49 | #pragma warning(disable:4068) 50 | #endif 51 | 52 | #if (_ATL_VER >= 0x0800) 53 | // for _stdcallthunk 54 | #include 55 | #pragma comment(lib, "atlthunk.lib") 56 | #else 57 | namespace ATL 58 | { 59 | inline void * __stdcall __AllocStdCallThunk() 60 | { 61 | return ::HeapAlloc(::GetProcessHeap(), 0, sizeof(_stdcallthunk)); 62 | } 63 | 64 | inline void __stdcall __FreeStdCallThunk(void *p) 65 | { 66 | ::HeapFree(::GetProcessHeap(), 0, p); 67 | } 68 | }; 69 | #endif 70 | #endif // _WTL_SUPPORT_EXTERNAL_ATL 71 | 72 | [!endif] 73 | #include 74 | 75 | [!if WTL_COM_SERVER] 76 | extern CServerAppModule _Module; 77 | 78 | // This is here only to tell VC7 Class Wizard this is an ATL project 79 | #ifdef ___VC7_CLWIZ_ONLY___ 80 | CComModule 81 | CExeModule 82 | #endif 83 | 84 | [!else] 85 | extern CAppModule _Module; 86 | 87 | [!endif] 88 | [!if WTL_ENABLE_AX || WTL_COM_SERVER] 89 | #include 90 | [!endif] 91 | [!if WTL_ENABLE_AX] 92 | #include 93 | [!endif] 94 | #include 95 | [!if WTL_ENABLE_AX] 96 | #include 97 | [!endif] 98 | [!if WTL_USE_CPP_FILES] 99 | 100 | #include 101 | #include 102 | #include 103 | [!if WTL_USE_CMDBAR] 104 | #include 105 | [!endif] 106 | [!if WTL_APPTYPE_TABVIEW] 107 | #include 108 | [!endif] 109 | [!if WTL_APPTYPE_EXPLORER] 110 | #include 111 | #include 112 | [!endif] 113 | [!if WTL_USE_VIEW] 114 | [!if WTL_VIEWTYPE_SCROLL] 115 | #include 116 | [!endif] 117 | [!endif] 118 | [!if WTL_USE_RIBBON] 119 | #include 120 | [!endif] 121 | [!endif] 122 | [!if WTL_USE_EMBEDDED_MANIFEST] 123 | 124 | #if defined _M_IX86 125 | #pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 126 | #elif defined _M_IA64 127 | #pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"") 128 | #elif defined _M_X64 129 | #pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 130 | #else 131 | #pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 132 | #endif 133 | [!endif] 134 | -------------------------------------------------------------------------------- /iBurnMgr/iBurnMgr.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Sources 6 | 7 | 8 | Sources\View 9 | 10 | 11 | Sources\Model 12 | 13 | 14 | Sources\Controller 15 | 16 | 17 | Sources\Model 18 | 19 | 20 | Sources\Model 21 | 22 | 23 | Sources\Model 24 | 25 | 26 | Sources\Controller 27 | 28 | 29 | Sources\Controller 30 | 31 | 32 | Sources\Model 33 | 34 | 35 | Sources\View 36 | 37 | 38 | Sources 39 | 40 | 41 | 42 | 43 | Header 44 | 45 | 46 | Header 47 | 48 | 49 | Header\View 50 | 51 | 52 | Header\View 53 | 54 | 55 | Header\Model 56 | 57 | 58 | Header\Model 59 | 60 | 61 | Header\Controller 62 | 63 | 64 | Header\Controller 65 | 66 | 67 | Header\Model 68 | 69 | 70 | Header\Controller 71 | 72 | 73 | Header\Model 74 | 75 | 76 | 77 | 78 | {b51d6a6c-c954-46a0-aae7-ce07e372f29a} 79 | 80 | 81 | {36f2e027-ac14-4b4b-b664-b2ff9d0925c7} 82 | 83 | 84 | {5d9e9672-b3f9-46a8-8e6d-27ad2bf5d899} 85 | 86 | 87 | {473459e5-3a0d-4bc6-be98-c50810b5e346} 88 | 89 | 90 | {b13b4b1d-0d35-4662-ab6d-3dc0cd188dc8} 91 | 92 | 93 | {348c80af-7aaf-431b-ab77-b95091a7b4d7} 94 | 95 | 96 | {25e18822-a18e-4ce4-b375-ae4b5be457c2} 97 | 98 | 99 | {0902dbda-a168-482b-a03c-44ef64cc4c05} 100 | 101 | 102 | {301932d6-40e2-46cc-b677-f49d99c02a2d} 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | Resources 119 | 120 | 121 | -------------------------------------------------------------------------------- /x64/utility/7z/readme.txt: -------------------------------------------------------------------------------- 1 | 7-Zip Extra 16.00 2 | ----------------- 3 | 4 | 7-Zip Extra is package of extra modules of 7-Zip. 5 | 6 | 7-Zip Copyright (C) 1999-2016 Igor Pavlov. 7 | 8 | 7-Zip is free software. Read License.txt for more information about license. 9 | 10 | Source code of binaries can be found at: 11 | http://www.7-zip.org/ 12 | 13 | This package contains the following files: 14 | 15 | 7za.exe - standalone console version of 7-Zip with reduced formats support. 16 | 7za.dll - library for working with 7z archives 17 | 7zxa.dll - library for extracting from 7z archives 18 | License.txt - license information 19 | readme.txt - this file 20 | 21 | Far\ - plugin for Far Manager 22 | x64\ - binaries for x64 23 | 24 | 25 | All 32-bit binaries can work in: 26 | Windows 2000 / 2003 / 2008 / XP / Vista / 7 / 8 / 10 27 | and in any Windows x64 version with WoW64 support. 28 | All x64 binaries can work in any Windows x64 version. 29 | 30 | All binaries use msvcrt.dll. 31 | 32 | 7za.exe 33 | ------- 34 | 35 | 7za.exe - is a standalone console version of 7-Zip with reduced formats support. 36 | 37 | Extra: 7za.exe : support for only some formats of 7-Zip. 38 | 7-Zip: 7z.exe with 7z.dll : support for all formats of 7-Zip. 39 | 40 | 7za.exe and 7z.exe from 7-Zip have same command line interface. 41 | 7za.exe doesn't use external DLL files. 42 | 43 | You can read Help File (7-zip.chm) from 7-Zip package for description 44 | of all commands and switches for 7za.exe and 7z.exe. 45 | 46 | 7za.exe features: 47 | 48 | - High compression ratio in 7z format 49 | - Supported formats: 50 | - Packing / unpacking: 7z, xz, ZIP, GZIP, BZIP2 and TAR 51 | - Unpacking only: Z, lzma, CAB. 52 | - Highest compression ratio for ZIP and GZIP formats. 53 | - Fast compression and decompression 54 | - Strong AES-256 encryption in 7z and ZIP formats. 55 | 56 | Note: LZMA SDK contains 7zr.exe - more reduced version of 7za.exe. 57 | But you can use 7zr.exe as "public domain" code. 58 | 59 | 60 | 61 | DLL files 62 | --------- 63 | 64 | 7za.dll and 7zxa.dll are reduced versions of 7z.dll from 7-Zip. 65 | 7za.dll and 7zxa.dll support only 7z format. 66 | Note: 7z.dll is main DLL file that works with all archive types in 7-Zip. 67 | 68 | 7za.dll and 7zxa.dll support the following decoding methods: 69 | - LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES, BZip2, Deflate. 70 | 71 | 7za.dll also supports 7z encoding with the following encoding methods: 72 | - LZMA, LZMA2, PPMD, BCJ, BCJ2, COPY, 7zAES. 73 | 74 | 7za.dll and 7zxa.dll work via COM interfaces. 75 | But these DLLs don't use standard COM interfaces for objects creating. 76 | 77 | Look also example code that calls DLL functions (in source code of 7-Zip): 78 | 79 | 7zip\UI\Client7z 80 | 81 | Another example of binary that uses these interface is 7-Zip itself. 82 | The following binaries from 7-Zip use 7z.dll: 83 | - 7z.exe (console version) 84 | - 7zG.exe (GUI version) 85 | - 7zFM.exe (7-Zip File Manager) 86 | 87 | Note: The source code of LZMA SDK also contains the code for similar DLLs 88 | (DLLs without BZip2, Deflate support). And these files from LZMA SDK can be 89 | used as "public domain" code. If you use LZMA SDK files, you don't need to 90 | follow GNU LGPL rules, if you want to change the code. 91 | 92 | 93 | 94 | 95 | License FAQ 96 | ----------- 97 | 98 | Can I use the EXE or DLL files from 7-Zip in a commercial application? 99 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 100 | Yes, but you are required to specify in documentation for your application: 101 | (1) that you used parts of the 7-Zip program, 102 | (2) that 7-Zip is licensed under the GNU LGPL license and 103 | (3) you must give a link to www.7-zip.org, where the source code can be found. 104 | 105 | 106 | Can I use the source code of 7-Zip in a commercial application? 107 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 108 | Since 7-Zip is licensed under the GNU LGPL you must follow the rules of that license. 109 | In brief, it means that any LGPL'ed code must remain licensed under the LGPL. 110 | For instance, you can change the code from 7-Zip or write a wrapper for some 111 | code from 7-Zip and compile it into a DLL; but, the source code of that DLL 112 | (including your modifications / additions / wrapper) must be licensed under 113 | the LGPL or GPL. 114 | Any other code in your application can be licensed as you wish. This scheme allows 115 | users and developers to change LGPL'ed code and recompile that DLL. That is the 116 | idea of free software. Read more here: http://www.gnu.org/. 117 | 118 | 119 | 120 | Note: You can look also LZMA SDK, which is available under a more liberal license. 121 | 122 | 123 | --- 124 | End of document 125 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/MainDlg.cpp: -------------------------------------------------------------------------------- 1 | // [!output WTL_MAINDLG_FILE].cpp : implementation of the [!output WTL_MAINDLG_CLASS] class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | #include "resource.h" 7 | 8 | [!if WTL_APPTYPE_DLG && !WTL_APPTYPE_DLG_MODAL] 9 | #include "aboutdlg.h" 10 | [!endif] 11 | #include "[!output WTL_MAINDLG_FILE].h" 12 | 13 | [!if WTL_APPTYPE_DLG && !WTL_APPTYPE_DLG_MODAL] 14 | BOOL [!output WTL_MAINDLG_CLASS]::PreTranslateMessage(MSG* pMsg) 15 | { 16 | [!if WTL_HOST_AX] 17 | if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) && 18 | (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST)) 19 | return FALSE; 20 | 21 | HWND hWndCtl = ::GetFocus(); 22 | if(IsChild(hWndCtl)) 23 | { 24 | // find a direct child of the dialog from the window that has focus 25 | while(::GetParent(hWndCtl) != m_hWnd) 26 | hWndCtl = ::GetParent(hWndCtl); 27 | 28 | // give control a chance to translate this message 29 | if(::SendMessage(hWndCtl, WM_FORWARDMSG, 0, (LPARAM)pMsg) != 0) 30 | return TRUE; 31 | } 32 | 33 | [!endif] 34 | return CWindow::IsDialogMessage(pMsg); 35 | } 36 | 37 | BOOL [!output WTL_MAINDLG_CLASS]::OnIdle() 38 | { 39 | UIUpdateChildWindows(); 40 | return FALSE; 41 | } 42 | 43 | LRESULT [!output WTL_MAINDLG_CLASS]::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 44 | { 45 | // center the dialog on the screen 46 | CenterWindow(); 47 | 48 | // set icons 49 | HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON)); 50 | SetIcon(hIcon, TRUE); 51 | HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON)); 52 | SetIcon(hIconSmall, FALSE); 53 | 54 | // register object for message filtering and idle updates 55 | CMessageLoop* pLoop = _Module.GetMessageLoop(); 56 | ATLASSERT(pLoop != NULL); 57 | pLoop->AddMessageFilter(this); 58 | pLoop->AddIdleHandler(this); 59 | 60 | UIAddChildWindowContainer(m_hWnd); 61 | 62 | return TRUE; 63 | } 64 | 65 | LRESULT [!output WTL_MAINDLG_CLASS]::OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 66 | { 67 | // unregister message filtering and idle updates 68 | CMessageLoop* pLoop = _Module.GetMessageLoop(); 69 | ATLASSERT(pLoop != NULL); 70 | pLoop->RemoveMessageFilter(this); 71 | pLoop->RemoveIdleHandler(this); 72 | [!if WTL_COM_SERVER] 73 | 74 | // if UI is the last thread, no need to wait 75 | if(_Module.GetLockCount() == 1) 76 | { 77 | _Module.m_dwTimeOut = 0L; 78 | _Module.m_dwPause = 0L; 79 | } 80 | _Module.Unlock(); 81 | [!endif] 82 | 83 | return 0; 84 | } 85 | 86 | LRESULT [!output WTL_MAINDLG_CLASS]::OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 87 | { 88 | CAboutDlg dlg; 89 | dlg.DoModal(); 90 | return 0; 91 | } 92 | 93 | LRESULT [!output WTL_MAINDLG_CLASS]::OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 94 | { 95 | // TODO: Add validation code 96 | CloseDialog(wID); 97 | return 0; 98 | } 99 | 100 | LRESULT [!output WTL_MAINDLG_CLASS]::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 101 | { 102 | CloseDialog(wID); 103 | return 0; 104 | } 105 | 106 | void [!output WTL_MAINDLG_CLASS]::CloseDialog(int nVal) 107 | { 108 | DestroyWindow(); 109 | ::PostQuitMessage(nVal); 110 | } 111 | [!endif] 112 | [!if WTL_APPTYPE_DLG && WTL_APPTYPE_DLG_MODAL] 113 | LRESULT [!output WTL_MAINDLG_CLASS]::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 114 | { 115 | [!if WTL_COM_SERVER] 116 | _Module.Lock(); 117 | 118 | [!endif] 119 | // center the dialog on the screen 120 | CenterWindow(); 121 | 122 | // set icons 123 | HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON)); 124 | SetIcon(hIcon, TRUE); 125 | HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON)); 126 | SetIcon(hIconSmall, FALSE); 127 | 128 | return TRUE; 129 | } 130 | 131 | [!if WTL_COM_SERVER] 132 | LRESULT [!output WTL_MAINDLG_CLASS]::OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 133 | { 134 | // if UI is the last thread, no need to wait 135 | if(_Module.GetLockCount() == 1) 136 | { 137 | _Module.m_dwTimeOut = 0L; 138 | _Module.m_dwPause = 0L; 139 | } 140 | _Module.Unlock(); 141 | return 0; 142 | } 143 | 144 | [!endif] 145 | LRESULT [!output WTL_MAINDLG_CLASS]::OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 146 | { 147 | CSimpleDialog dlg; 148 | dlg.DoModal(); 149 | return 0; 150 | } 151 | 152 | LRESULT [!output WTL_MAINDLG_CLASS]::OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 153 | { 154 | // TODO: Add validation code 155 | EndDialog(wID); 156 | return 0; 157 | } 158 | 159 | LRESULT [!output WTL_MAINDLG_CLASS]::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 160 | { 161 | EndDialog(wID); 162 | return 0; 163 | } 164 | [!endif] 165 | -------------------------------------------------------------------------------- /iBurnMgr/MetroWindow.h: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * MetroWindow.h 3 | * Note: iBurnMgr MetroWindow 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #ifndef METROWINDOW_H 9 | #define METROWINDOW_H 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include "resource.h" 15 | #include "APIController.h" 16 | #include "MUIController.h" 17 | #include 18 | //#define NAMESPACEMETRO namespace Metro{ 19 | //#define ENDNAMESPACE } 20 | 21 | typedef CWinTraits CMetroWindowTraits; 22 | 23 | LRESULT WINAPI CreateTaskDialogIndirectFd( 24 | __in HWND hwndParent, 25 | __in HINSTANCE hInstance, 26 | __out_opt int * pnButton, 27 | __out_opt int * pnRadioButton 28 | ); 29 | extern Metro::MUI::MultiUI* muiController; 30 | 31 | namespace Metro{ 32 | 33 | typedef struct _MetroPushButton{ 34 | RECT place; 35 | bool bStatus; 36 | std::wstring caption; 37 | _MetroPushButton(RECT rect, std::wstring itext, bool bstatus = false) :place(rect), caption(itext), bStatus(bstatus){} 38 | _MetroPushButton() :place({0,0,0,0}),caption(L"OK"),bStatus(false) {} 39 | }MetroPushButton; 40 | typedef struct _MetroLabel{ 41 | RECT place; 42 | std::wstring text; 43 | _MetroLabel(RECT rect, std::wstring itext) :place(rect), text(itext){} 44 | _MetroLabel() :place({0,0,0,0}), text(L"Label"){} 45 | }MetroLabel; 46 | 47 | class MetroWindow :public CWindowImpl{ 48 | private: 49 | std::wstring localename; 50 | DWORD FontTabel; 51 | ID2D1Factory* m_pDirect2dFactory; 52 | ID2D1HwndRenderTarget* m_pRenderTarget; 53 | ID2D1DeviceContext *m_d2dContext; 54 | ID2D1SolidColorBrush* m_pMinButtonActiveBrush; 55 | ID2D1SolidColorBrush* m_pMetroButtonNsBrush; 56 | ID2D1SolidColorBrush* m_pMetroButtonLsBrush; 57 | ID2D1SolidColorBrush* m_EdgeViewBrush; 58 | ID2D1SolidColorBrush* m_pCloseButtonClickBrush; 59 | ID2D1SolidColorBrush* m_pLightWhiteBrush; 60 | ID2D1SolidColorBrush* m_pControlTextBrush; 61 | 62 | IWICImagingFactory* m_pWICFactory; 63 | ID2D1Bitmap* m_pBitmap; 64 | ID2D1Bitmap* m_pBitmapBkg; 65 | IDWriteTextFormat* m_pITextFormatTitle; 66 | IDWriteTextFormat* m_pITextFormatContent; 67 | IDWriteFactory* m_pIDWriteFactory; 68 | HRESULT CreateDeviceIndependentResources(); 69 | HRESULT Initialize(); 70 | HRESULT CreateDeviceResources(); 71 | void DiscardDeviceResources(); 72 | HRESULT OnRender(); 73 | void OnResize( 74 | UINT width, 75 | UINT height 76 | ); 77 | public: 78 | MetroWindow(); 79 | ~MetroWindow(); 80 | DECLARE_WND_CLASS(METROCLASSNAME) 81 | BEGIN_MSG_MAP(MetroWindow) 82 | MESSAGE_HANDLER(WM_CREATE,OnCreate) 83 | MESSAGE_HANDLER(WM_DESTROY,OnDestory) 84 | MESSAGE_HANDLER(WM_CLOSE, OnClose) 85 | MESSAGE_HANDLER(WM_PAINT,OnPaint) 86 | MESSAGE_HANDLER(WM_SIZE,OnSize) 87 | MESSAGE_HANDLER(WM_MOUSEMOVE,OnMouseMovie) 88 | MESSAGE_HANDLER(WM_MOUSELEAVE,OnMouseLeave) 89 | MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUp) 90 | MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown) 91 | MESSAGE_HANDLER(WM_RBUTTONUP, OnRButtonUp) 92 | MESSAGE_HANDLER(WM_DEVICECHANGE,OnDeviceChange) 93 | MESSAGE_HANDLER(WM_DROPFILES,OnDropfiles) 94 | MESSAGE_HANDLER(WM_ERASEBKGND,OnErasebkgnd) 95 | //// 96 | MESSAGE_HANDLER(METRO_MULTITHREAD_MSG,OnMultiThreadProcess) 97 | MESSAGE_HANDLER(METRO_THREAD_RATESTATUS_MSG, OnDecompressOrFixBootRate) 98 | //MESSAGE_HANDLER(WM_MOUSELEAVE,OnMouseLeave) 99 | MESSAGE_HANDLER(WM_KILLFOCUS,OnKillFocus) 100 | COMMAND_ID_HANDLER(ID_SYS_MIN, OnMinSize) 101 | COMMAND_ID_HANDLER(ID_SYS_SUPPORT, OnSupport) 102 | COMMAND_ID_HANDLER(ID_SYS_EXIT,OnMeClose) 103 | COMMAND_ID_HANDLER(ID_SYS_ABOUT,OnAbout) 104 | END_MSG_MAP() 105 | LRESULT OnCreate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 106 | LRESULT OnDestory(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 107 | LRESULT OnClose(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 108 | LRESULT OnPaint(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 109 | LRESULT OnSize(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 110 | LRESULT OnMouseMovie(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 111 | LRESULT OnLButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 112 | LRESULT OnLButtonDown(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 113 | LRESULT OnRButtonUp(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled); 114 | LRESULT OnDeviceChange(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 115 | LRESULT OnMouseLeave(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 116 | LRESULT OnDropfiles(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 117 | LRESULT OnErasebkgnd(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 118 | 119 | LRESULT OnMultiThreadProcess(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 120 | LRESULT OnDecompressOrFixBootRate(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 121 | //LRESULT OnActive(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 122 | LRESULT OnKillFocus(UINT nMsg,WPARAM wParam,LPARAM lParam,BOOL &bHandled); 123 | //WM_COMMAND 124 | LRESULT OnSupport(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 125 | LRESULT OnMinSize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 126 | LRESULT OnMeClose(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 127 | LRESULT OnAbout(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 128 | void DiscoverInstallerImage(); 129 | LRESULT OnDecompress(); 130 | LRESULT OnFixBootDrive(); 131 | DWORD GetExitCode(){ return dwExit; } 132 | private: 133 | DWORD dwExit; 134 | bool IsInvalid; 135 | BOOL _bMouseTrack; 136 | MetroPushButton m_rexit; 137 | RECT m_rect; 138 | MetroPushButton m_rmin; 139 | RECT m_NcArea; 140 | RECT xArea; 141 | RECT xStatusArea; 142 | MetroPushButton m_mbFind; 143 | MetroPushButton m_FixBoot; 144 | MetroPushButton m_Operate; 145 | MetroLabel m_mtexts; 146 | CProgressBarCtrl m_proge; 147 | CEdit m_edit; 148 | CComboBox m_combox; 149 | DWORD iseThreadID; 150 | std::wstring USBdrive; 151 | std::wstring ImageFile; 152 | std::wstring ImageSize; 153 | std::wstring Description; 154 | std::wstring normalFont; 155 | std::wstring MTNotices; 156 | std::wstring JobStatusRate; 157 | std::wstring ProcessInfo; 158 | std::wstring windowTitle; 159 | std::wstring copyright; 160 | }; 161 | } 162 | #endif 163 | -------------------------------------------------------------------------------- /iBurnMgr/StorageManagementAPI.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * StorageManagementAPI.cpp 3 | * Note: iBurnMgr StorageManagementAPI 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include 10 | #include 11 | 12 | #define DEFINED_GUID 13 | #include 14 | #include 15 | #pragma warning(disable: 4127) 16 | #include "DecompressSupervision.h" 17 | 18 | #define SAFE_RELEASE(x) if (x) { x->Release(); x = NULL; } 19 | #define SAFE_FREE(x) if (x) { CoTaskMemFree(x); } 20 | #define GUID_LEN 50 21 | 22 | #define VAILED_LATTER(c) (c>='A'&&c<='Z'||c>='a'&&c<='z') 23 | 24 | #pragma comment(lib,"UUID.LIB") 25 | #pragma comment(lib,"Shell32.lib") 26 | 27 | //wchar_t *HealthString[] = 28 | //{ 29 | // L"UNKNOWN", 30 | // L"HEALTHY", 31 | // L"REBUILDING", 32 | // L"STALE", 33 | // L"FAILING", 34 | // L"FAILING_REDUNDANCY", 35 | // L"FAILED_REDUNDANCY", 36 | // L"FAILED_REDUNDANCY_FAILING", 37 | // L"FAILED" 38 | //}; 39 | // 40 | //wchar_t *TypeString[] = 41 | //{ 42 | // L"UNKNOWN", 43 | // L"SIMPLE", 44 | // L"SPAN", 45 | // L"STRIPE", 46 | // L"MIRROR", 47 | // L"PARITY" 48 | //}; 49 | // 50 | //wchar_t *StatusString[] = 51 | //{ 52 | // L"UNKNOWN", 53 | // L"ONLINE", 54 | // L"NOT_READY", 55 | // L"NO_MEDIA", 56 | // L"FAILED" 57 | //}; 58 | // 59 | //wchar_t *TransitionStateString[] = 60 | //{ 61 | // L"UNKNOWN", 62 | // L"STABLE", 63 | // L"EXTENDING", 64 | // L"SHRINKING", 65 | // L"RECONFIGING" 66 | //}; 67 | // 68 | //wchar_t *FileSystemString[] = 69 | //{ 70 | // L"UNKNOWN", 71 | // L"RAW", 72 | // L"FAT", 73 | // L"FAT32", 74 | // L"NTFS", 75 | // L"CDFS", 76 | // L"UDF" 77 | //}; 78 | // 79 | //wchar_t *ExtentTypeString[] = 80 | //{ 81 | // L"UNKNOWN", 82 | // L"FREE", 83 | // L"DATA", 84 | // L"OEM", 85 | // L"ESP", 86 | // L"MSR", 87 | // L"LMD", 88 | // L"UNUSABLE" 89 | //}; 90 | 91 | typedef struct EMessage{ 92 | HRESULT id; 93 | const wchar_t *msg; 94 | }EMessage; 95 | 96 | static const wchar_t *ErrorCodesMessage(HRESULT hr){ 97 | EMessage em[] = { 98 | { 99 | VDS_E_OPERATION_DENIED, 100 | L"The operation is denied if the caller tries to format the system, boot, crashdump, hibernation, or pagefile volume." 101 | }, 102 | { 103 | VDS_E_OBJECT_STATUS_FAILED , 104 | L"The volume has failed." 105 | }, { 106 | VDS_E_PACK_OFFLINE, 107 | L"The pack containing the volume is not accessible. All volumes in an offline pack are inaccessible." 108 | }, { 109 | VDS_E_FS_NOT_DETERMINED, 110 | L"The default file system could not be determined." 111 | }, { 112 | VDS_E_INCOMPATIBLE_FILE_SYSTEM, 113 | L"The file system is incompatible." 114 | }, { 115 | VDS_E_INCOMPATIBLE_MEDIA, 116 | L"The media is incompatible." 117 | }, { 118 | VDS_E_ACCESS_DENIED, 119 | L"Access is denied." 120 | }, { 121 | VDS_E_MEDIA_WRITE_PROTECTED, 122 | L"The media is write-protected." 123 | }, { 124 | VDS_E_BAD_LABEL, 125 | L"The label is not valid." 126 | },{ 127 | VDS_E_CANT_QUICK_FORMAT, 128 | L"The volume cannot be quick-formatted." 129 | }, { 130 | VDS_E_IO_ERROR, 131 | L"An I/O error occurred during format." 132 | }, { 133 | VDS_E_VOLUME_TOO_SMALL, 134 | L"The volume size is too small to format." 135 | }, { 136 | VDS_E_VOLUME_TOO_BIG, 137 | L"The volume size is too large to format." 138 | }, { 139 | VDS_E_CLUSTER_SIZE_TOO_SMALL, 140 | L"The cluster size is too small to allow formatting." 141 | }, { 142 | VDS_E_CLUSTER_SIZE_TOO_BIG, 143 | L"The cluster size is too large to allow formatting." 144 | }, { 145 | VDS_E_CLUSTER_COUNT_BEYOND_32BITS, 146 | L"The number of clusters is too large to be represented as a 32-bit integer." 147 | }, { 148 | VDS_S_VOLUME_COMPRESS_FAILED, 149 | L"The file system is formatted but not compressed." 150 | }, { 151 | VDS_E_CANT_INVALIDATE_FVE, 152 | L"BitLocker encryption could not be disabled for the volume." 153 | } 154 | }; 155 | for (auto &i : em){ 156 | if (i.id == hr){ 157 | return i.msg; 158 | } 159 | } 160 | return L"UNKNOWN ERROR"; 161 | } 162 | 163 | /* 164 | VDS_FSOF_NONE 165 | No options are specified. 166 | VDS_FSOF_FORCE 167 | The format operation should be forced, even if the partition is in use. 168 | VDS_FSOF_QUICK 169 | Perform a quick format operation. A quick format does not verify each sector on the volume. 170 | VDS_FSOF_COMPRESSION 171 | Enable compression on the newly formatted file system volume. Compression is a feature of the NTFS file system; it cannot be set for other file systems such as FAT or FAT32. 172 | VDS_FSOF_DUPLICATE_METADATA 173 | Forces duplication of metadata for UDF 2.5 and above 174 | 175 | */ 176 | BOOL WINAPI IVdsVolumeFormat( 177 | LPCWSTR latter, 178 | LPWSTR pwszLabel, 179 | FormatFailedCallback fcall, 180 | void *data) 181 | { 182 | if (!VAILED_LATTER(latter[0]) || latter[1] != ':') return FALSE; 183 | HRESULT hr, AsyncHr; 184 | IVdsAsync *pAsync = NULL; 185 | VDS_ASYNC_OUTPUT AsyncOut; 186 | if (CoInitializeSingle::Initialize()==nullptr){ 187 | return false; 188 | } 189 | IVdsServiceLoader *pLoader; 190 | IUnknown *pUnk; 191 | ULONG ulFetched = 0; 192 | hr = CoCreateInstance(CLSID_VdsLoader, 193 | NULL, 194 | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER, 195 | IID_IVdsServiceLoader, 196 | (void **)&pLoader 197 | ); 198 | if (hr != S_OK) return false; 199 | IVdsService *pService; 200 | hr = pLoader->LoadService(NULL, &pService); 201 | pLoader->Release(); 202 | pLoader = NULL; 203 | if (hr != S_OK){ 204 | if (fcall){ 205 | fcall(ErrorCodesMessage(hr),false,data); 206 | } 207 | return FALSE; 208 | } 209 | VDS_DRIVE_LETTER_PROP mDriveLetterPropArray[1]; 210 | hr = pService->QueryDriveLetters(latter[0], 1, mDriveLetterPropArray); 211 | if (hr != S_OK){ 212 | goto _bailout; 213 | } 214 | hr = pService->GetObjectW(mDriveLetterPropArray->volumeId, VDS_OT_VOLUME, &pUnk); 215 | if (hr != S_OK){ 216 | goto _bailout; 217 | } 218 | IVdsVolume *pVolume; 219 | hr = pUnk->QueryInterface(IID_IVdsVolume, (void **)&pVolume); 220 | if (hr != S_OK){ 221 | SAFE_RELEASE(pUnk); 222 | goto _bailout; 223 | } 224 | IVdsVolumeMF3 *pVolumeMF3; 225 | hr = pVolume->QueryInterface(IID_IVdsVolumeMF3, (void **)&pVolumeMF3); 226 | 227 | hr = pVolumeMF3->FormatEx2(L"NTFS", 1, 0, pwszLabel, VDS_FSOF_QUICK, &pAsync); 228 | hr = pAsync->Wait(&AsyncHr, &AsyncOut); 229 | if (FAILED(hr)){ 230 | if (fcall){ 231 | fcall(ErrorCodesMessage(hr),false,data); 232 | } 233 | } 234 | else if (FAILED(AsyncHr)){ 235 | if (fcall){ 236 | fcall(ErrorCodesMessage(hr),false,data); 237 | } 238 | } 239 | else{ 240 | if (fcall){ 241 | fcall(L"Format volume Success done. ", true,data); 242 | } 243 | } 244 | SAFE_RELEASE(pVolume); 245 | SAFE_RELEASE(pVolumeMF3); 246 | _bailout: 247 | SAFE_RELEASE(pService); 248 | return hr==S_OK; 249 | } 250 | 251 | -------------------------------------------------------------------------------- /iBurnMgr/DecompressSuprevision.cpp: -------------------------------------------------------------------------------- 1 | /********************************************************************************************************* 2 | * DecompressSupervision.cpp 3 | * Note: iBurnMgr DecompressSupervision 4 | * E-mail: 5 | * Date: @2015.03 6 | * Copyright (C) 2017 The ForceStudio All Rights Reserved. 7 | **********************************************************************************************************/ 8 | #include "Precompiled.h" 9 | #include "DecompressSupervision.h" 10 | #include "APIController.h" 11 | #include "ResolveBootSupervisor.h" 12 | 13 | 14 | static ResolveSupervisor::ResolveData radate = { {0}, 0 }; 15 | static Decompress::SupervisorData *SpData = nullptr; 16 | WCHAR deslog[200] = { 0 }; 17 | float decst = 0; 18 | UINT drate = 0; 19 | DWORD dwThreadId = 0; 20 | 21 | 22 | static bool FormatFailedCallbackInc(const wchar_t *msg,bool status,void *data){ 23 | if (!data||!msg) return false; 24 | HWND hWnd = reinterpret_cast(data); 25 | int nButton; 26 | ///SendMessageW(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_DECOMPRESS, (LPARAM)msg); 27 | if (status){ 28 | TaskDialog(hWnd, nullptr, L"Format Notice", L"Message:", msg, TDCBF_YES_BUTTON | TDCBF_NO_BUTTON, 29 | TD_INFORMATION_ICON, &nButton); 30 | } 31 | else{ 32 | TaskDialog(hWnd, nullptr, L"Format Error", L"Message:", msg, TDCBF_YES_BUTTON | TDCBF_NO_BUTTON, 33 | TD_ERROR_ICON, &nButton); 34 | } 35 | return true; 36 | } 37 | 38 | /* 7Zip 39 | UInt32 WINAPI CreateObject(const GUID *clsID, const GUID *interfaceID, void **outObject); 40 | UInt32 WINAPI GetNumberOfMethods(UInt32 *numMethods); 41 | UInt32 WINAPI GetMethodProperty(UInt32 index, PROPID propID, PROPVARIANT *value); 42 | UInt32 WINAPI GetNumberOfFormats(UInt32 *numFormats); 43 | UInt32 WINAPI GetHandlerProperty(PROPID propID, PROPVARIANT *value); 44 | UInt32 WINAPI GetHandlerProperty2(UInt32 index, PROPID propID, PROPVARIANT *value); 45 | UInt32 WINAPI SetLargePageMode(); 46 | */ 47 | 48 | 49 | 50 | namespace Decompress{ 51 | DWORD WINAPI DecompressDetectRate(LPVOID lParam) 52 | { 53 | if (SpData == nullptr) return 1; 54 | //SupervisorData* SpData = static_cast(lParam); 55 | DWORD exitcode; 56 | HWND hWnd = static_cast(SpData->lParam); 57 | if (Supervisor::CreateDecompressInvoke(hWnd,SpData->image,SpData->latter)) 58 | { 59 | wcscpy_s(deslog, L"Extracting the image file success"); 60 | //PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_ENDOK, 0); 61 | exitcode = 0; 62 | } 63 | else{ 64 | wcscpy_s(deslog, L"Extracting the image file Failure"); 65 | //PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_ADNORMAL, 0); 66 | exitcode = 1; 67 | } 68 | PostMessageW(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_DECOMPRESS, (LPARAM)deslog); 69 | PostMessageW(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_ENDOK, 0); 70 | return 0; 71 | } 72 | DWORD WINAPI DecompressSupervisorThread(LPVOID Spdata) 73 | { 74 | drate = 0; 75 | SpData =static_cast(Spdata); 76 | Supervisor *supervisor = new Supervisor(SpData->image, SpData->latter, SpData->lParam); 77 | HWND hWnd = static_cast(SpData->lParam); 78 | if (!supervisor->CreateDecompressFormat()) 79 | { 80 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_FORMAT, METRO_RATE_FORMAT_ERR); 81 | wcscpy_s(deslog, L"Quick Format Disk Failure."); 82 | PostMessage(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_DECOMPRESS, (LPARAM)deslog); 83 | return 2; 84 | } 85 | dwThreadId = GetCurrentThreadId(); 86 | wcscpy_s(deslog, L"Quick Format Disk Success."); 87 | SendMessage(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_DECOMPRESS, (LPARAM)deslog); 88 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_FORMAT, METRO_RATE_FORMAT_SUC); 89 | Sleep(1000); 90 | wcscpy_s(deslog, L"The Second Step: Extracting the image file..."); 91 | SendMessage(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_DECOMPRESS, (LPARAM)deslog); 92 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_STATUS, drate); 93 | 94 | DWORD dwmThread; 95 | DWORD dExitCode; 96 | DWORD rate = 1; 97 | HANDLE hThread = CreateThread(NULL, 0, Decompress::DecompressDetectRate, &SpData, 0, &dwmThread); 98 | while (true) 99 | { 100 | GetExitCodeThread(hThread, &dExitCode); 101 | if (dExitCode != STILL_ACTIVE) 102 | break; 103 | Sleep(10000); 104 | if (rate <=70) 105 | rate += 1; 106 | if (rate > 70) 107 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_BLOCK, rate); 108 | else 109 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_STATUS, rate); 110 | } 111 | if (!dExitCode == 0) 112 | { 113 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_ADNORMAL, 0); 114 | return 1; 115 | } 116 | CloseHandle(hThread); 117 | PostMessage(hWnd, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_ENDOK, 0); 118 | radate.latter = SpData->latter; 119 | radate.m_hWnd = static_cast(SpData->lParam); 120 | DWORD dwThreadID; 121 | HANDLE rbhThread = CreateThread(NULL, 0, ResolveSupervisor::ResolveSupervisorThread, &radate, 0, &dwThreadID); 122 | CloseHandle(rbhThread); 123 | return 0; 124 | } 125 | 126 | Supervisor::Supervisor(LPSupervisorData lPSpData) 127 | { 128 | Supervisor(lPSpData->image, lPSpData->latter, lPSpData->lParam); 129 | } 130 | Supervisor::Supervisor(std::wstring img, LPCWSTR latter, LPVOID lParam) :m_image(img), m_latter(latter) 131 | { 132 | hParents = static_cast(lParam); 133 | m_latter = m_latter.substr(0, 2); 134 | } 135 | bool Supervisor::CreateDecompressFormat() 136 | { 137 | wcscpy_s(deslog, L"The First Step: Format USB device "); 138 | wcscat_s(deslog, m_latter.c_str()); 139 | PostMessageW(hParents, Metro::METRO_MULTITHREAD_MSG, MET_DECOMPRESS, LPARAM(deslog)); 140 | int nButton; 141 | TaskDialog(hParents, NULL, 142 | L"Will be formatted USB device", L"Format Warning!", 143 | L"The formatting process is not reversible,Select Yes to continue", 144 | TDCBF_YES_BUTTON| TDCBF_NO_BUTTON, 145 | TD_WARNING_ICON, &nButton); 146 | 147 | if (nButton != IDYES) 148 | { 149 | PostMessageW(hParents, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_CANCLE_OPT, METRO_CANCLE_OPT_FORMAT); 150 | Sleep(1500); 151 | return false; 152 | } 153 | if (IVdsVolumeFormat(this->m_latter.c_str(),L"Installer",FormatFailedCallbackInc,this->hParents)==TRUE) 154 | { 155 | PostMessageW(hParents, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_FORMAT, METRO_RATE_FORMAT_SUC); 156 | } 157 | else{ 158 | PostMessageW(hParents, Metro::METRO_THREAD_RATESTATUS_MSG, METRO_RATE_FORMAT, METRO_RATE_FORMAT_ERR); 159 | return false; 160 | } 161 | return true; 162 | } 163 | bool WINAPI Supervisor::CreateDecompressInvoke(HWND hWnd,std::wstring img, LPWSTR latter) 164 | { 165 | WCHAR _7zCmd[MAX_PATH] = { 0 }; 166 | //HWND m_hWnd = static_cast(hWnd); 167 | GetModuleFileNameW(GetModuleHandle(nullptr), _7zCmd, MAX_UNC_PATH); 168 | (wcsrchr(_7zCmd, _T('\\')))[0] = 0; 169 | (wcsrchr(_7zCmd, _T('\\')))[0] = 0; 170 | wcscat_s(_7zCmd, LR"(\utility\7z\7z.exe)"); 171 | if (!_waccess_s(_7zCmd, 0) == 0) 172 | { 173 | return false; 174 | } 175 | wcscat_s(_7zCmd, L" x "); 176 | wcscat_s(_7zCmd, img.c_str()); 177 | wcscat_s(_7zCmd, L" -aoa -y -o"); 178 | wcscat_s(_7zCmd, latter); 179 | wcscat_s(_7zCmd, L"\\"); 180 | //_waccess_s() 181 | PROCESS_INFORMATION pi; 182 | STARTUPINFO sInfo; 183 | DWORD dwExitCode; 184 | ZeroMemory(&sInfo, sizeof(sInfo)); 185 | sInfo.cb = sizeof(sInfo); 186 | sInfo.dwFlags = STARTF_USESHOWWINDOW; 187 | sInfo.wShowWindow = SW_HIDE; 188 | ZeroMemory(&pi, sizeof(pi)); 189 | 190 | DWORD result = CreateProcessW(NULL, _7zCmd, NULL, NULL, NULL, CREATE_NO_WINDOW, NULL, NULL, &sInfo, &pi); 191 | if (result == TRUE) 192 | { 193 | CloseHandle(pi.hThread); 194 | PostMessageW(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_POST_PID_ADD, pi.dwProcessId); 195 | WaitForSingleObject(pi.hProcess, INFINITE); 196 | PostMessageW(hWnd, Metro::METRO_MULTITHREAD_MSG, MET_POST_PID_CLEAR, 0); 197 | GetExitCodeProcess(pi.hProcess, &dwExitCode); 198 | CloseHandle(pi.hProcess); 199 | if (dwExitCode != 0 &&dwExitCode!=1) 200 | { 201 | return false; 202 | } 203 | return true; 204 | } 205 | return false; 206 | } 207 | } 208 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/MainDlg.h: -------------------------------------------------------------------------------- 1 | // [!output WTL_MAINDLG_FILE].h : interface of the [!output WTL_MAINDLG_CLASS] class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #pragma once 6 | 7 | [!if WTL_APPTYPE_DLG && !WTL_APPTYPE_DLG_MODAL] 8 | class [!output WTL_MAINDLG_CLASS] : public [!output WTL_MAINDLG_BASE_CLASS]<[!output WTL_MAINDLG_CLASS]>, public CUpdateUI<[!output WTL_MAINDLG_CLASS]>, 9 | public CMessageFilter, public CIdleHandler 10 | { 11 | public: 12 | enum { IDD = IDD_MAINDLG }; 13 | 14 | [!if WTL_USE_CPP_FILES] 15 | virtual BOOL PreTranslateMessage(MSG* pMsg); 16 | [!else] 17 | virtual BOOL PreTranslateMessage(MSG* pMsg) 18 | { 19 | [!if WTL_HOST_AX] 20 | if((pMsg->message < WM_KEYFIRST || pMsg->message > WM_KEYLAST) && 21 | (pMsg->message < WM_MOUSEFIRST || pMsg->message > WM_MOUSELAST)) 22 | return FALSE; 23 | 24 | HWND hWndCtl = ::GetFocus(); 25 | if(IsChild(hWndCtl)) 26 | { 27 | // find a direct child of the dialog from the window that has focus 28 | while(::GetParent(hWndCtl) != m_hWnd) 29 | hWndCtl = ::GetParent(hWndCtl); 30 | 31 | // give control a chance to translate this message 32 | if(::SendMessage(hWndCtl, WM_FORWARDMSG, 0, (LPARAM)pMsg) != 0) 33 | return TRUE; 34 | } 35 | 36 | [!endif] 37 | return CWindow::IsDialogMessage(pMsg); 38 | } 39 | 40 | [!endif] 41 | [!if WTL_USE_CPP_FILES] 42 | virtual BOOL OnIdle(); 43 | [!else] 44 | virtual BOOL OnIdle() 45 | { 46 | UIUpdateChildWindows(); 47 | return FALSE; 48 | } 49 | [!endif] 50 | 51 | BEGIN_UPDATE_UI_MAP([!output WTL_MAINDLG_CLASS]) 52 | END_UPDATE_UI_MAP() 53 | 54 | BEGIN_MSG_MAP([!output WTL_MAINDLG_CLASS]) 55 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 56 | MESSAGE_HANDLER(WM_DESTROY, OnDestroy) 57 | COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout) 58 | COMMAND_ID_HANDLER(IDOK, OnOK) 59 | COMMAND_ID_HANDLER(IDCANCEL, OnCancel) 60 | END_MSG_MAP() 61 | 62 | // Handler prototypes (uncomment arguments if needed): 63 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 64 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 65 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 66 | 67 | [!if WTL_USE_CPP_FILES] 68 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 69 | [!else] 70 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 71 | { 72 | // center the dialog on the screen 73 | CenterWindow(); 74 | 75 | // set icons 76 | HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON)); 77 | SetIcon(hIcon, TRUE); 78 | HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON)); 79 | SetIcon(hIconSmall, FALSE); 80 | 81 | // register object for message filtering and idle updates 82 | CMessageLoop* pLoop = _Module.GetMessageLoop(); 83 | ATLASSERT(pLoop != NULL); 84 | pLoop->AddMessageFilter(this); 85 | pLoop->AddIdleHandler(this); 86 | 87 | UIAddChildWindowContainer(m_hWnd); 88 | 89 | return TRUE; 90 | } 91 | 92 | [!endif] 93 | [!if WTL_USE_CPP_FILES] 94 | LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 95 | [!else] 96 | LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 97 | { 98 | // unregister message filtering and idle updates 99 | CMessageLoop* pLoop = _Module.GetMessageLoop(); 100 | ATLASSERT(pLoop != NULL); 101 | pLoop->RemoveMessageFilter(this); 102 | pLoop->RemoveIdleHandler(this); 103 | [!if WTL_COM_SERVER] 104 | 105 | // if UI is the last thread, no need to wait 106 | if(_Module.GetLockCount() == 1) 107 | { 108 | _Module.m_dwTimeOut = 0L; 109 | _Module.m_dwPause = 0L; 110 | } 111 | _Module.Unlock(); 112 | [!endif] 113 | 114 | return 0; 115 | } 116 | 117 | [!endif] 118 | [!if WTL_USE_CPP_FILES] 119 | LRESULT OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 120 | [!else] 121 | LRESULT OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 122 | { 123 | CAboutDlg dlg; 124 | dlg.DoModal(); 125 | return 0; 126 | } 127 | 128 | [!endif] 129 | [!if WTL_USE_CPP_FILES] 130 | LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 131 | [!else] 132 | LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 133 | { 134 | // TODO: Add validation code 135 | CloseDialog(wID); 136 | return 0; 137 | } 138 | 139 | [!endif] 140 | [!if WTL_USE_CPP_FILES] 141 | LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 142 | [!else] 143 | LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 144 | { 145 | CloseDialog(wID); 146 | return 0; 147 | } 148 | 149 | [!endif] 150 | [!if WTL_USE_CPP_FILES] 151 | 152 | void CloseDialog(int nVal); 153 | [!else] 154 | void CloseDialog(int nVal) 155 | { 156 | DestroyWindow(); 157 | ::PostQuitMessage(nVal); 158 | } 159 | [!endif] 160 | }; 161 | [!endif] 162 | [!if WTL_APPTYPE_DLG && WTL_APPTYPE_DLG_MODAL] 163 | class [!output WTL_MAINDLG_CLASS] : public [!output WTL_MAINDLG_BASE_CLASS]<[!output WTL_MAINDLG_CLASS]> 164 | { 165 | public: 166 | enum { IDD = IDD_MAINDLG }; 167 | 168 | BEGIN_MSG_MAP([!output WTL_MAINDLG_CLASS]) 169 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 170 | [!if WTL_COM_SERVER] 171 | MESSAGE_HANDLER(WM_DESTROY, OnDestroy) 172 | [!endif] 173 | COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout) 174 | COMMAND_ID_HANDLER(IDOK, OnOK) 175 | COMMAND_ID_HANDLER(IDCANCEL, OnCancel) 176 | END_MSG_MAP() 177 | 178 | // Handler prototypes (uncomment arguments if needed): 179 | // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 180 | // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 181 | // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/) 182 | 183 | [!if WTL_USE_CPP_FILES] 184 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 185 | [!else] 186 | LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 187 | { 188 | [!if WTL_COM_SERVER] 189 | _Module.Lock(); 190 | 191 | [!endif] 192 | // center the dialog on the screen 193 | CenterWindow(); 194 | 195 | // set icons 196 | HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON)); 197 | SetIcon(hIcon, TRUE); 198 | HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON)); 199 | SetIcon(hIconSmall, FALSE); 200 | 201 | return TRUE; 202 | } 203 | 204 | [!endif] 205 | [!if WTL_COM_SERVER] 206 | [!if WTL_USE_CPP_FILES] 207 | LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 208 | [!else] 209 | LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) 210 | { 211 | // if UI is the last thread, no need to wait 212 | if(_Module.GetLockCount() == 1) 213 | { 214 | _Module.m_dwTimeOut = 0L; 215 | _Module.m_dwPause = 0L; 216 | } 217 | _Module.Unlock(); 218 | 219 | return 0; 220 | } 221 | 222 | [!endif] 223 | [!endif] 224 | [!if WTL_USE_CPP_FILES] 225 | LRESULT OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 226 | [!else] 227 | LRESULT OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 228 | { 229 | CSimpleDialog dlg; 230 | dlg.DoModal(); 231 | return 0; 232 | } 233 | 234 | [!endif] 235 | [!if WTL_USE_CPP_FILES] 236 | LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 237 | [!else] 238 | LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 239 | { 240 | // TODO: Add validation code 241 | EndDialog(wID); 242 | return 0; 243 | } 244 | 245 | [!endif] 246 | [!if WTL_USE_CPP_FILES] 247 | LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 248 | [!else] 249 | LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/) 250 | { 251 | EndDialog(wID); 252 | return 0; 253 | } 254 | [!endif] 255 | }; 256 | [!endif] 257 | -------------------------------------------------------------------------------- /iBurnMgr/iBurnMgr.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | x64 7 | 8 | 9 | Release 10 | x64 11 | 12 | 13 | 14 | {8286DDB9-1CB6-4D6C-A805-B46C4DD9EFCB} 15 | Win32Proj 16 | iBurnMgr 17 | 18 | 19 | 20 | Application 21 | true 22 | v142 23 | Unicode 24 | 25 | 26 | Application 27 | false 28 | v142 29 | true 30 | Unicode 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | true 44 | 45 | 46 | false 47 | 48 | 49 | 50 | 51 | 52 | Level3 53 | Disabled 54 | WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) 55 | true 56 | 57 | 58 | Windows 59 | true 60 | RequireAdministrator 61 | 62 | 63 | 64 | 65 | Level3 66 | 67 | 68 | MaxSpeed 69 | true 70 | true 71 | WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) 72 | true 73 | MultiThreaded 74 | 75 | 76 | Windows 77 | true 78 | true 79 | true 80 | RequireAdministrator 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | Document 120 | copy App.ini $(TargetDir)$(ProjectName).exe.ini 121 | $(TargetDir)$(ProjectName).exe.ini;%(Outputs) 122 | copy App.ini $(TargetDir)$(ProjectName).exe.ini 123 | $(TargetDir)$(ProjectName).exe.ini;%(Outputs) 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | Document 132 | $(TargetDir)zh-CN.lang;%(Outputs) 133 | $(TargetDir)zh-CN.lang;%(Outputs) 134 | copy zh-CN.lang $(TargetDir)zh-CN.lang 135 | copy zh-CN.lang $(TargetDir)zh-CN.lang 136 | 137 | 138 | Document 139 | copy en.lang $(TargetDir)en.lang 140 | copy en.lang $(TargetDir)en.lang 141 | $(TargetDir)en.lang;%(Outputs) 142 | $(TargetDir)en.lang;%(Outputs) 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /packages/wtl.9.1/tools/AppWiz/Files/Templates/1033/Ribbon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 47 | 48 | 49 | 51 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |