├── .gitignore ├── Clipboard.cpp ├── LICENSE ├── MessageCrackWiz.rc ├── MessageCrackWiz.sln ├── MessageCrackWiz.vcxproj ├── MessageCrackWiz.vcxproj.filters ├── MsgCrackWizard.cpp ├── MsgCrackWizard.h ├── README.md ├── Reg.cpp ├── bmp ├── clpbrd.bmp ├── clpbrd_d.bmp ├── filter.bmp ├── filter_d.bmp ├── general.bmp ├── general_d.bmp ├── keybrd.bmp ├── keybrd_d.bmp ├── mcw.png ├── mdi.bmp ├── mdi_d.bmp ├── mouse.bmp ├── mouse_d.bmp ├── nclient.bmp ├── nclient_d.bmp ├── window.bmp └── window_d.bmp ├── ico ├── keybmsg.ico ├── mouse.ico └── msgcrk.ico ├── mcwizard.exe.manifest ├── resource.h ├── stdafx.cpp ├── stdafx.h └── ui.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | /obj/Release 34 | /bin 35 | /obj/Debug 36 | /.vs/MessageCrackWiz 37 | *.aps 38 | *.user 39 | /.vs 40 | -------------------------------------------------------------------------------- /Clipboard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/Clipboard.cpp -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2003-2017 Hernán Di Pietro 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. 22 | -------------------------------------------------------------------------------- /MessageCrackWiz.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/MessageCrackWiz.rc -------------------------------------------------------------------------------- /MessageCrackWiz.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 12.00 2 | # Visual Studio 14 3 | VisualStudioVersion = 14.0.25420.1 4 | MinimumVisualStudioVersion = 10.0.40219.1 5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MessageCrackWiz", "MessageCrackWiz.vcxproj", "{B0FB4944-A964-4C5C-96D6-72B568F2D938}" 6 | EndProject 7 | Global 8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 9 | Debug|x86 = Debug|x86 10 | Release|x86 = Release|x86 11 | EndGlobalSection 12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 13 | {B0FB4944-A964-4C5C-96D6-72B568F2D938}.Debug|x86.ActiveCfg = Debug|Win32 14 | {B0FB4944-A964-4C5C-96D6-72B568F2D938}.Debug|x86.Build.0 = Debug|Win32 15 | {B0FB4944-A964-4C5C-96D6-72B568F2D938}.Release|x86.ActiveCfg = Release|Win32 16 | {B0FB4944-A964-4C5C-96D6-72B568F2D938}.Release|x86.Build.0 = Release|Win32 17 | EndGlobalSection 18 | GlobalSection(SolutionProperties) = preSolution 19 | HideSolutionNode = FALSE 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /MessageCrackWiz.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | 14 | {B0FB4944-A964-4C5C-96D6-72B568F2D938} 15 | Win32Proj 16 | 10.0 17 | 18 | 19 | 20 | Application 21 | v143 22 | MultiByte 23 | 24 | 25 | Application 26 | v143 27 | MultiByte 28 | v143 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | <_ProjectFileVersion>14.0.25431.1 42 | 43 | 44 | bin\Debug\ 45 | obj\Debug\ 46 | true 47 | NativeRecommendedRules.ruleset 48 | 49 | 50 | 51 | 52 | bin\Release\ 53 | obj\Release\ 54 | false 55 | NativeRecommendedRules.ruleset 56 | 57 | 58 | 59 | 60 | 61 | Disabled 62 | WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) 63 | false 64 | false 65 | false 66 | true 67 | EnableFastChecks 68 | MultiThreadedDebug 69 | 70 | Level3 71 | EditAndContinue 72 | false 73 | false 74 | 75 | 76 | comctl32.lib;%(AdditionalDependencies) 77 | true 78 | $(OutDir)MessageCrackWiz.pdb 79 | Windows 80 | MachineX86 81 | 82 | 83 | 84 | 85 | Full 86 | true 87 | Size 88 | true 89 | WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) 90 | true 91 | MultiThreaded 92 | 93 | Level3 94 | ProgramDatabase 95 | 96 | 97 | comctl32.lib;%(AdditionalDependencies) 98 | true 99 | Windows 100 | true 101 | true 102 | MachineX86 103 | 104 | 105 | 106 | 107 | Use 108 | 109 | 110 | NotUsing 111 | Use 112 | 113 | 114 | 115 | NotUsing 116 | Create 117 | 118 | 119 | Use 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /MessageCrackWiz.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | Header Files 43 | 44 | 45 | 46 | 47 | Resource Files 48 | 49 | 50 | Resource Files 51 | 52 | 53 | Resource Files 54 | 55 | 56 | Resource Files 57 | 58 | 59 | Resource Files 60 | 61 | 62 | Resource Files 63 | 64 | 65 | Resource Files 66 | 67 | 68 | Resource Files 69 | 70 | 71 | Resource Files 72 | 73 | 74 | Resource Files 75 | 76 | 77 | Resource Files 78 | 79 | 80 | Resource Files 81 | 82 | 83 | Resource Files 84 | 85 | 86 | Resource Files 87 | 88 | 89 | Resource Files 90 | 91 | 92 | Resource Files 93 | 94 | 95 | Resource Files 96 | 97 | 98 | Resource Files 99 | 100 | 101 | Resource Files 102 | 103 | 104 | Resource Files 105 | 106 | 107 | Resource Files 108 | 109 | 110 | Resource Files 111 | 112 | 113 | Resource Files 114 | 115 | 116 | 117 | 118 | Resource Files 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /MsgCrackWizard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/MsgCrackWizard.cpp -------------------------------------------------------------------------------- /MsgCrackWizard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/MsgCrackWizard.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Message Cracker Wizard 2 | A tool for aiding Win32 C development using WINDOWSX.H message crackers. 3 | 4 | ![Image of MessageCrackerWizard](https://github.com/hernandp/MessageCrackerWizard/blob/master/bmp/mcw.png) 5 | 6 | ## Introduction 7 | 8 | This is the source code, MIT licensed now, of my old ClassWizard-like tool to working with WINDOWSX.H message cracker macros. It's intended as you imagine, for raw-C and C++ programmers developing Win32 native applications. 9 | 10 | For a detailed description of this program, check out the original CodeProject article at: 11 | 12 | https://www.codeproject.com/Articles/4948/Message-Cracker-Wizard-for-Win-SDK-Developers 13 | 14 | Suggestions are welcome. 15 | 16 | ## Version History 17 | 18 | * 1.0 19 | * First release, Sep, 2003. 20 | * 1.2 21 | * Added multiple selection feature. 22 | * Added missing crackers for WM_COPYDATA and WM_HOTKEY messages. 23 | * Fixed little interface bugs. 24 | * 2.0 25 | * Added message filtering. 26 | * Added window transparency option (only for Windows 2000/XP/Server 2003). 27 | * Added show/hide Target code. 28 | * Added enable/disable stay on top window. 29 | * Added WM_CTLCOLORxxxx message support. 30 | * Added message-type bitmaps on list box. 31 | * Added include/exclude comments option. 32 | * Fixed keyboard logic. 33 | * 2.1 34 | * Fixed clipboard copy bug (thanks to Agnel Kurian). 35 | * Now the program is licensed under the GPL. 36 | * 2.2 37 | * C++ code modernization to near- modern standards 38 | * Updated for compilation with VS2015 39 | * Changed to Unicode for all strings 40 | * Fixed analysis, warnings, and related issues 41 | * Changed to MIT license 42 | * 2.5 43 | * Fix memory corruption error 44 | * Fix non-dialog procedure generating 'hwndDlg' instead of 'hwnd' 45 | * Added re-sizable window feature. 46 | * Added 'Dark Mode' color scheme (WIP) 47 | * Settings are saved/retrieved to/from Registry 48 | * Removed 'Hide Target Code' option 49 | * 2.6 50 | * Added Search in listbox feature, clear selections and enhancements (thanks @HHsomeHand) 51 | * fix MFC-dependent afxres.h in resource file 52 | * Solved Misc build issues for latest VC environment. 53 | -------------------------------------------------------------------------------- /Reg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/Reg.cpp -------------------------------------------------------------------------------- /bmp/clpbrd.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/clpbrd.bmp -------------------------------------------------------------------------------- /bmp/clpbrd_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/clpbrd_d.bmp -------------------------------------------------------------------------------- /bmp/filter.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/filter.bmp -------------------------------------------------------------------------------- /bmp/filter_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/filter_d.bmp -------------------------------------------------------------------------------- /bmp/general.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/general.bmp -------------------------------------------------------------------------------- /bmp/general_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/general_d.bmp -------------------------------------------------------------------------------- /bmp/keybrd.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/keybrd.bmp -------------------------------------------------------------------------------- /bmp/keybrd_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/keybrd_d.bmp -------------------------------------------------------------------------------- /bmp/mcw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/mcw.png -------------------------------------------------------------------------------- /bmp/mdi.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/mdi.bmp -------------------------------------------------------------------------------- /bmp/mdi_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/mdi_d.bmp -------------------------------------------------------------------------------- /bmp/mouse.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/mouse.bmp -------------------------------------------------------------------------------- /bmp/mouse_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/mouse_d.bmp -------------------------------------------------------------------------------- /bmp/nclient.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/nclient.bmp -------------------------------------------------------------------------------- /bmp/nclient_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/nclient_d.bmp -------------------------------------------------------------------------------- /bmp/window.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/window.bmp -------------------------------------------------------------------------------- /bmp/window_d.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/bmp/window_d.bmp -------------------------------------------------------------------------------- /ico/keybmsg.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/ico/keybmsg.ico -------------------------------------------------------------------------------- /ico/mouse.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/ico/mouse.ico -------------------------------------------------------------------------------- /ico/msgcrk.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/ico/msgcrk.ico -------------------------------------------------------------------------------- /mcwizard.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | windowsx.h Message Crackers Help Tool 10 | 11 | 12 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by MessageCrackWiz.rc 4 | // 5 | #define IDD_WIZARD 101 6 | #define IDR_MENU1 102 7 | #define IDI_MCWICON 103 8 | #define IDD_ABOUT 104 9 | #define IDR_ACCEL 105 10 | #define IDB_KEYBOARD 110 11 | #define IDB_MOUSE 111 12 | #define IDB_CLIPBOARD 112 13 | #define IDB_NONCLIENT 113 14 | #define IDB_GENERAL 114 15 | #define IDB_MDI 115 16 | #define IDB_WINDOW 116 17 | #define IDB_KEYBOARD_D 117 18 | #define IDB_MOUSE_D 118 19 | #define IDB_CLIPBOARD_D 119 20 | #define IDB_NONCLIENT_D 120 21 | #define IDB_GENERAL_D 121 22 | #define IDB_MDI_D 122 23 | #define IDB_WINDOW_D 123 24 | #define IDD_FILTER 124 25 | #define IDC_MESSAGES 1001 26 | #define IDCOPY 1002 27 | #define IDC_BUTTON1 1003 28 | #define IDC_COPYMACRO 1003 29 | #define IDB_TOOLBARBITMAPS 1003 30 | #define IDC_WINDOWID 1009 31 | #define IDC_MAKEWNDPROC 1011 32 | #define IDC_MSGFUNCTION 1013 33 | #define IDC_BUTTON2 1014 34 | #define IDC_COPYFUNC 1014 35 | #define IDC_BUTTON3 1015 36 | #define IDC_CLOSE 1015 37 | #define IDC_RADWINDOW 1018 38 | #define IDC_DIALOG 1019 39 | #define IDC_HANDLEMSG 1022 40 | #define IDC_FGENERAL 1029 41 | #define IDC_FKEYBOARD 1030 42 | #define IDC_FMOUSE 1031 43 | #define IDC_FCLIPBRD 1032 44 | #define IDC_FMDI 1033 45 | #define IDC_FNCLIENT 1034 46 | #define IDC_NOHEADINGCOMMENTS 1035 47 | #define IDC_NOTODOCOMMENTS 1036 48 | #define IDC_BUTTON4 1037 49 | #define IDC_FILTERBTN 1037 50 | #define IDC_NUMSELECT 1038 51 | #define IDC_TARGETCODEGROUP 1039 52 | #define IDC_OPTIONSGROUPBOX 1040 53 | #define IDC_TYPEGROUPBOX 1041 54 | #define IDC_MESSAGES_LABEL 1042 55 | #define IDC_WINDOWID_LABEL 1043 56 | #define IDC_HANDLEMSG_LABEL 1044 57 | #define IDC_MSGFUNCTION_LABEL 1045 58 | #define ID_HELP40001 40001 59 | #define ID_HELP_ABOUT 40002 60 | #define ID_EDIT_COPYMACRO 40003 61 | #define ID_EDIT_COPYFUNCTION 40004 62 | #define ID_FILE_EXIT 40005 63 | #define ID_EDIT_FILTERMESSAGES 40013 64 | #define ID_FILE_OPENPROJECT 40014 65 | #define ID_VIEW_STAYONTOP 40015 66 | #define ID_VIEW_SHOWTARGETCODE 40016 67 | #define ID_VIEW_WINDOWTRANSPARENCY 40017 68 | #define ID_WINDOWTRANSPARENCY_SOLID 40018 69 | #define ID_WINDOWTRANSPARENCY_10 40019 70 | #define ID_WINDOWTRANSPARENCY_25 40020 71 | #define ID_WINDOWTRANSPARENCY_50 40021 72 | #define ID_WINDOWTRANSPARENCY_75 40022 73 | #define ID_WINDOW_TRANSPARENCY 40023 74 | #define ID_EDIT_MESSAGEFILTERS 40024 75 | #define ID_Menu 40028 76 | #define ID_VIEW_DARKCOLORSCHEME 40029 77 | #define ID_EDIT_ 40032 78 | #define ID_EDIT_SEARCHLISTBOX 40033 79 | #define ID_EDIT_CLEARALLSELECTS 40034 80 | 81 | // Next default values for new objects 82 | // 83 | #ifdef APSTUDIO_INVOKED 84 | #ifndef APSTUDIO_READONLY_SYMBOLS 85 | #define _APS_NO_MFC 1 86 | #define _APS_NEXT_RESOURCE_VALUE 118 87 | #define _APS_NEXT_COMMAND_VALUE 40035 88 | #define _APS_NEXT_CONTROL_VALUE 1047 89 | #define _APS_NEXT_SYMED_VALUE 101 90 | #endif 91 | #endif 92 | -------------------------------------------------------------------------------- /stdafx.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" -------------------------------------------------------------------------------- /stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/stdafx.h -------------------------------------------------------------------------------- /ui.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hernandp/MessageCrackerWizard/8d3895d9a0f5cd632a08922efd16aa359390e399/ui.cpp --------------------------------------------------------------------------------