├── .gitignore ├── LICENSE ├── README.md ├── Resources └── Icon128.png ├── Source └── WindowsMessageHandlerExample │ ├── Private │ ├── WindowsMessageHandlerExampleModule.cpp │ └── WindowsMessageHelpers.h │ └── WindowsMessageHandlerExample.Build.cs └── WindowsMessageHandlerExample.uplugin /.gitignore: -------------------------------------------------------------------------------- 1 | Binaries/ 2 | Intermediate/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2015 Epic Games, Inc. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 7 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 9 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WindowsMessageHandlerExample 2 | 3 | Example plug-in for the IWindowsMessageHandler API. 4 | 5 | 6 | ## About 7 | 8 | This Unreal Engine 4 plug-in shows how to use *IWindowsMessageHandler* in order 9 | to intercept and process events from the Windows message queue without having to 10 | modify Engine code. This is useful for integrating hardware and software SDKs 11 | that use Windows messages to provide some or all of their functionality. 12 | 13 | Make sure to pull the Tag that matches your Unreal Engine version. If you sync 14 | to Master the code may not compile, because it may depend on Engine changes that 15 | are not yet available in the UE4 Master branch. 16 | 17 | 18 | ## Supported Platforms 19 | 20 | This plug-in was last built against **Unreal Engine 4.19**. 21 | It is intended to be used on Windows only. 22 | 23 | 24 | ## Dependencies 25 | 26 | This plug-in requires Visual Studio and either a C++ code project or a the full 27 | Unreal Engine 4 source code from GitHub. If you are new to programming in UE4, 28 | please see the official [Programming Guide](https://docs.unrealengine.com/latest/INT/Programming/index.html)! 29 | 30 | 31 | ## Usage 32 | 33 | You can use this plug-in as a project plug-in, or an Engine plug-in. 34 | 35 | If you use it as a project plug-in, clone this repository into your project's 36 | */Plugins* directory and compile your game in Visual Studio. A C++ code project 37 | is required for this to work. 38 | 39 | If you use it as an Engine plug-in, clone this repository into the 40 | */Engine/Plugins/Media* directory and compile your game. Full Unreal Engine 4 41 | source code from GitHub (4.9 or higher) is required for this. 42 | 43 | After compiling the plug-in, you have to **enable it** in Unreal Editor's 44 | plug-in browser. 45 | 46 | Once activated, the plug-in simply writes intercepted Windows messages to the 47 | output log. 48 | 49 | 50 | ## Support 51 | 52 | Please [file an issue](https://github.com/ue4plugins/WindowsMessageHandlerExample/issues), 53 | submit a [pull request](https://github.com/ue4plugins/WindowsMessageHandlerExample/pulls?q=is%3Aopen+is%3Apr) 54 | or email us at info@headcrash.industries 55 | 56 | 57 | ## References 58 | 59 | * [Introduction to UE4 Plugins](https://wiki.unrealengine.com/An_Introduction_to_UE4_Plugins) (Unreal Engine Wiki) 60 | * [How can i add window message?](https://answers.unrealengine.com/questions/162868/how-can-i-add-window-message.html) (AnswerHub) 61 | -------------------------------------------------------------------------------- /Resources/Icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ue4plugins/WindowsMessageHandlerExample/6bd012977659e47174aaacb5612cf40cf7e67d12/Resources/Icon128.png -------------------------------------------------------------------------------- /Source/WindowsMessageHandlerExample/Private/WindowsMessageHandlerExampleModule.cpp: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "Framework/Application/SlateApplication.h" 4 | #include "Misc/OutputDevice.h" 5 | #include "Modules/ModuleInterface.h" 6 | #include "Modules/ModuleManager.h" 7 | #include "Windows/WindowsApplication.h" 8 | 9 | #include "WindowsMessageHelpers.h" 10 | 11 | 12 | #define LOCTEXT_NAMESPACE "FWindowsMessageHandlerExampleModule" 13 | 14 | 15 | /** 16 | * Example Windows message handler. 17 | */ 18 | class FExampleHandler 19 | : public IWindowsMessageHandler 20 | { 21 | public: 22 | 23 | //~ IWindowsMessageHandler interface 24 | 25 | virtual bool ProcessMessage(HWND Hwnd, uint32 Message, WPARAM WParam, LPARAM LParam, int32& OutResult) override 26 | { 27 | // log out some details for the received message 28 | GLog->Logf(TEXT("WindowsMessageHandlerExampleModule: hwnd = %i, msg = %s, wParam = %i, lParam = %i"), Hwnd, *GetMessageName(Message), WParam, LParam); 29 | 30 | // we did not handle this message, so make sure it gets passed on to other handlers 31 | return false; 32 | } 33 | }; 34 | 35 | 36 | /** 37 | * Implements the WindowsMessageHandlerExample module. 38 | */ 39 | class FWindowsMessageHandlerExampleModule 40 | : public IModuleInterface 41 | { 42 | public: 43 | 44 | //~ IModuleInterface interface 45 | 46 | virtual void StartupModule() override 47 | { 48 | // register our handler 49 | FWindowsApplication* Application = GetApplication(); 50 | 51 | if (Application != nullptr) 52 | { 53 | Application->AddMessageHandler(Handler); 54 | } 55 | } 56 | 57 | 58 | virtual void ShutdownModule() override 59 | { 60 | // unregister our handler 61 | FWindowsApplication* Application = GetApplication(); 62 | 63 | if (Application != nullptr) 64 | { 65 | Application->RemoveMessageHandler(Handler); 66 | } 67 | } 68 | 69 | protected: 70 | 71 | FWindowsApplication* GetApplication() const 72 | { 73 | if (!FSlateApplication::IsInitialized()) 74 | { 75 | return nullptr; 76 | } 77 | 78 | return (FWindowsApplication*)FSlateApplication::Get().GetPlatformApplication().Get(); 79 | } 80 | 81 | private: 82 | 83 | FExampleHandler Handler; 84 | }; 85 | 86 | 87 | #undef LOCTEXT_NAMESPACE 88 | 89 | IMPLEMENT_MODULE(FWindowsMessageHandlerExampleModule, WindowsMessageHandlerExample) 90 | -------------------------------------------------------------------------------- /Source/WindowsMessageHandlerExample/Private/WindowsMessageHelpers.h: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | #include "CoreTypes.h" 4 | #include "Containers/UnrealString.h" 5 | 6 | 7 | struct FMessageName 8 | { 9 | uint32 Message; 10 | const TCHAR* Name; 11 | }; 12 | 13 | 14 | static const FMessageName WindowsMessageNames[] = 15 | { 16 | { 0, TEXT("WM_NULL") }, 17 | { 1, TEXT("WM_CREATE") }, 18 | { 2, TEXT("WM_DESTROY") }, 19 | { 3, TEXT("WM_MOVE") }, 20 | { 5, TEXT("WM_SIZE") }, 21 | { 6, TEXT("WM_ACTIVATE") }, 22 | { 7, TEXT("WM_SETFOCUS") }, 23 | { 8, TEXT("WM_KILLFOCUS") }, 24 | { 10, TEXT("WM_ENABLE") }, 25 | { 11, TEXT("WM_SETREDRAW") }, 26 | { 12, TEXT("WM_SETTEXT") }, 27 | { 13, TEXT("WM_GETTEXT") }, 28 | { 14, TEXT("WM_GETTEXTLENGTH") }, 29 | { 15, TEXT("WM_PAINT") }, 30 | { 16, TEXT("WM_CLOSE") }, 31 | { 17, TEXT("WM_QUERYENDSESSION") }, 32 | { 18, TEXT("WM_QUIT") }, 33 | { 19, TEXT("WM_QUERYOPEN") }, 34 | { 20, TEXT("WM_ERASEBKGND") }, 35 | { 21, TEXT("WM_SYSCOLORCHANGE") }, 36 | { 22, TEXT("WM_ENDSESSION") }, 37 | { 24, TEXT("WM_SHOWWINDOW") }, 38 | { 25, TEXT("WM_CTLCOLOR") }, 39 | { 26, TEXT("WM_WININICHANGE") }, 40 | { 27, TEXT("WM_DEVMODECHANGE") }, 41 | { 28, TEXT("WM_ACTIVATEAPP") }, 42 | { 29, TEXT("WM_FONTCHANGE") }, 43 | { 30, TEXT("WM_TIMECHANGE") }, 44 | { 31, TEXT("WM_CANCELMODE") }, 45 | { 32, TEXT("WM_SETCURSOR") }, 46 | { 33, TEXT("WM_MOUSEACTIVATE") }, 47 | { 34, TEXT("WM_CHILDACTIVATE") }, 48 | { 35, TEXT("WM_QUEUESYNC") }, 49 | { 36, TEXT("WM_GETMINMAXINFO") }, 50 | { 38, TEXT("WM_PAINTICON") }, 51 | { 39, TEXT("WM_ICONERASEBKGND") }, 52 | { 40, TEXT("WM_NEXTDLGCTL") }, 53 | { 42, TEXT("WM_SPOOLERSTATUS") }, 54 | { 43, TEXT("WM_DRAWITEM") }, 55 | { 44, TEXT("WM_MEASUREITEM") }, 56 | { 45, TEXT("WM_DELETEITEM") }, 57 | { 46, TEXT("WM_VKEYTOITEM") }, 58 | { 47, TEXT("WM_CHARTOITEM") }, 59 | { 48, TEXT("WM_SETFONT") }, 60 | { 49, TEXT("WM_GETFONT") }, 61 | { 50, TEXT("WM_SETHOTKEY") }, 62 | { 51, TEXT("WM_GETHOTKEY") }, 63 | { 55, TEXT("WM_QUERYDRAGICON") }, 64 | { 57, TEXT("WM_COMPAREITEM") }, 65 | { 61, TEXT("WM_GETOBJECT") }, 66 | { 65, TEXT("WM_COMPACTING") }, 67 | { 68, TEXT("WM_COMMNOTIFY") }, 68 | { 70, TEXT("WM_WINDOWPOSCHANGING") }, 69 | { 71, TEXT("WM_WINDOWPOSCHANGED") }, 70 | { 72, TEXT("WM_POWER") }, 71 | { 73, TEXT("WM_COPYGLOBALDATA") }, 72 | { 74, TEXT("WM_COPYDATA") }, 73 | { 75, TEXT("WM_CANCELJOURNAL") }, 74 | { 78, TEXT("WM_NOTIFY") }, 75 | { 80, TEXT("WM_INPUTLANGCHANGEREQUEST") }, 76 | { 81, TEXT("WM_INPUTLANGCHANGE") }, 77 | { 82, TEXT("WM_TCARD") }, 78 | { 83, TEXT("WM_HELP") }, 79 | { 84, TEXT("WM_USERCHANGED") }, 80 | { 85, TEXT("WM_NOTIFYFORMAT") }, 81 | { 123, TEXT("WM_CONTEXTMENU") }, 82 | { 124, TEXT("WM_STYLECHANGING") }, 83 | { 125, TEXT("WM_STYLECHANGED") }, 84 | { 126, TEXT("WM_DISPLAYCHANGE") }, 85 | { 127, TEXT("WM_GETICON") }, 86 | { 128, TEXT("WM_SETICON") }, 87 | { 129, TEXT("WM_NCCREATE") }, 88 | { 130, TEXT("WM_NCDESTROY") }, 89 | { 131, TEXT("WM_NCCALCSIZE") }, 90 | { 132, TEXT("WM_NCHITTEST") }, 91 | { 133, TEXT("WM_NCPAINT") }, 92 | { 134, TEXT("WM_NCACTIVATE") }, 93 | { 135, TEXT("WM_GETDLGCODE") }, 94 | { 136, TEXT("WM_SYNCPAINT") }, 95 | { 160, TEXT("WM_NCMOUSEMOVE") }, 96 | { 161, TEXT("WM_NCLBUTTONDOWN") }, 97 | { 162, TEXT("WM_NCLBUTTONUP") }, 98 | { 163, TEXT("WM_NCLBUTTONDBLCLK") }, 99 | { 164, TEXT("WM_NCRBUTTONDOWN") }, 100 | { 165, TEXT("WM_NCRBUTTONUP") }, 101 | { 166, TEXT("WM_NCRBUTTONDBLCLK") }, 102 | { 167, TEXT("WM_NCMBUTTONDOWN") }, 103 | { 168, TEXT("WM_NCMBUTTONUP") }, 104 | { 169, TEXT("WM_NCMBUTTONDBLCLK") }, 105 | { 171, TEXT("WM_NCXBUTTONDOWN") }, 106 | { 172, TEXT("WM_NCXBUTTONUP") }, 107 | { 173, TEXT("WM_NCXBUTTONDBLCLK") }, 108 | { 176, TEXT("EM_GETSEL") }, 109 | { 177, TEXT("EM_SETSEL") }, 110 | { 178, TEXT("EM_GETRECT") }, 111 | { 179, TEXT("EM_SETRECT") }, 112 | { 180, TEXT("EM_SETRECTNP") }, 113 | { 181, TEXT("EM_SCROLL") }, 114 | { 182, TEXT("EM_LINESCROLL") }, 115 | { 183, TEXT("EM_SCROLLCARET") }, 116 | { 185, TEXT("EM_GETMODIFY") }, 117 | { 187, TEXT("EM_SETMODIFY") }, 118 | { 188, TEXT("EM_GETLINECOUNT") }, 119 | { 189, TEXT("EM_LINEINDEX") }, 120 | { 190, TEXT("EM_SETHANDLE") }, 121 | { 191, TEXT("EM_GETHANDLE") }, 122 | { 192, TEXT("EM_GETTHUMB") }, 123 | { 193, TEXT("EM_LINELENGTH") }, 124 | { 194, TEXT("EM_REPLACESEL") }, 125 | { 195, TEXT("EM_SETFONT") }, 126 | { 196, TEXT("EM_GETLINE") }, 127 | { 197, TEXT("EM_LIMITTEXT") }, 128 | { 197, TEXT("EM_SETLIMITTEXT") }, 129 | { 198, TEXT("EM_CANUNDO") }, 130 | { 199, TEXT("EM_UNDO") }, 131 | { 200, TEXT("EM_FMTLINES") }, 132 | { 201, TEXT("EM_LINEFROMCHAR") }, 133 | { 202, TEXT("EM_SETWORDBREAK") }, 134 | { 203, TEXT("EM_SETTABSTOPS") }, 135 | { 204, TEXT("EM_SETPASSWORDCHAR") }, 136 | { 205, TEXT("EM_EMPTYUNDOBUFFER") }, 137 | { 206, TEXT("EM_GETFIRSTVISIBLELINE") }, 138 | { 207, TEXT("EM_SETREADONLY") }, 139 | { 209, TEXT("EM_SETWORDBREAKPROC") }, 140 | { 209, TEXT("EM_GETWORDBREAKPROC") }, 141 | { 210, TEXT("EM_GETPASSWORDCHAR") }, 142 | { 211, TEXT("EM_SETMARGINS") }, 143 | { 212, TEXT("EM_GETMARGINS") }, 144 | { 213, TEXT("EM_GETLIMITTEXT") }, 145 | { 214, TEXT("EM_POSFROMCHAR") }, 146 | { 215, TEXT("EM_CHARFROMPOS") }, 147 | { 216, TEXT("EM_SETIMESTATUS") }, 148 | { 217, TEXT("EM_GETIMESTATUS") }, 149 | { 224, TEXT("SBM_SETPOS") }, 150 | { 225, TEXT("SBM_GETPOS") }, 151 | { 226, TEXT("SBM_SETRANGE") }, 152 | { 227, TEXT("SBM_GETRANGE") }, 153 | { 228, TEXT("SBM_ENABLE_ARROWS") }, 154 | { 230, TEXT("SBM_SETRANGEREDRAW") }, 155 | { 233, TEXT("SBM_SETSCROLLINFO") }, 156 | { 234, TEXT("SBM_GETSCROLLINFO") }, 157 | { 235, TEXT("SBM_GETSCROLLBARINFO") }, 158 | { 240, TEXT("BM_GETCHECK") }, 159 | { 241, TEXT("BM_SETCHECK") }, 160 | { 242, TEXT("BM_GETSTATE") }, 161 | { 243, TEXT("BM_SETSTATE") }, 162 | { 244, TEXT("BM_SETSTYLE") }, 163 | { 245, TEXT("BM_CLICK") }, 164 | { 246, TEXT("BM_GETIMAGE") }, 165 | { 247, TEXT("BM_SETIMAGE") }, 166 | { 248, TEXT("BM_SETDONTCLICK") }, 167 | { 255, TEXT("WM_INPUT") }, 168 | { 256, TEXT("WM_KEYDOWN") }, 169 | { 256, TEXT("WM_KEYFIRST") }, 170 | { 257, TEXT("WM_KEYUP") }, 171 | { 258, TEXT("WM_CHAR") }, 172 | { 259, TEXT("WM_DEADCHAR") }, 173 | { 260, TEXT("WM_SYSKEYDOWN") }, 174 | { 261, TEXT("WM_SYSKEYUP") }, 175 | { 262, TEXT("WM_SYSCHAR") }, 176 | { 263, TEXT("WM_SYSDEADCHAR") }, 177 | { 264, TEXT("WM_KEYLAST") }, 178 | { 265, TEXT("WM_UNICHAR") }, 179 | { 265, TEXT("WM_WNT_CONVERTREQUESTEX") }, 180 | { 266, TEXT("WM_CONVERTREQUEST") }, 181 | { 267, TEXT("WM_CONVERTRESULT") }, 182 | { 268, TEXT("WM_INTERIM") }, 183 | { 269, TEXT("WM_IME_STARTCOMPOSITION") }, 184 | { 270, TEXT("WM_IME_ENDCOMPOSITION") }, 185 | { 271, TEXT("WM_IME_COMPOSITION") }, 186 | { 271, TEXT("WM_IME_KEYLAST") }, 187 | { 272, TEXT("WM_INITDIALOG") }, 188 | { 273, TEXT("WM_COMMAND") }, 189 | { 274, TEXT("WM_SYSCOMMAND") }, 190 | { 275, TEXT("WM_TIMER") }, 191 | { 276, TEXT("WM_HSCROLL") }, 192 | { 277, TEXT("WM_VSCROLL") }, 193 | { 278, TEXT("WM_INITMENU") }, 194 | { 279, TEXT("WM_INITMENUPOPUP") }, 195 | { 280, TEXT("WM_SYSTIMER") }, 196 | { 287, TEXT("WM_MENUSELECT") }, 197 | { 288, TEXT("WM_MENUCHAR") }, 198 | { 289, TEXT("WM_ENTERIDLE") }, 199 | { 290, TEXT("WM_MENURBUTTONUP") }, 200 | { 291, TEXT("WM_MENUDRAG") }, 201 | { 292, TEXT("WM_MENUGETOBJECT") }, 202 | { 293, TEXT("WM_UNINITMENUPOPUP") }, 203 | { 294, TEXT("WM_MENUCOMMAND") }, 204 | { 295, TEXT("WM_CHANGEUISTATE") }, 205 | { 296, TEXT("WM_UPDATEUISTATE") }, 206 | { 297, TEXT("WM_QUERYUISTATE") }, 207 | { 306, TEXT("WM_CTLCOLORMSGBOX") }, 208 | { 307, TEXT("WM_CTLCOLOREDIT") }, 209 | { 308, TEXT("WM_CTLCOLORLISTBOX") }, 210 | { 309, TEXT("WM_CTLCOLORBTN") }, 211 | { 310, TEXT("WM_CTLCOLORDLG") }, 212 | { 311, TEXT("WM_CTLCOLORSCROLLBAR") }, 213 | { 312, TEXT("WM_CTLCOLORSTATIC") }, 214 | { 512, TEXT("WM_MOUSEFIRST") }, 215 | { 512, TEXT("WM_MOUSEMOVE") }, 216 | { 513, TEXT("WM_LBUTTONDOWN") }, 217 | { 514, TEXT("WM_LBUTTONUP") }, 218 | { 515, TEXT("WM_LBUTTONDBLCLK") }, 219 | { 516, TEXT("WM_RBUTTONDOWN") }, 220 | { 517, TEXT("WM_RBUTTONUP") }, 221 | { 518, TEXT("WM_RBUTTONDBLCLK") }, 222 | { 519, TEXT("WM_MBUTTONDOWN") }, 223 | { 520, TEXT("WM_MBUTTONUP") }, 224 | { 521, TEXT("WM_MBUTTONDBLCLK") }, 225 | { 521, TEXT("WM_MOUSELAST") }, 226 | { 522, TEXT("WM_MOUSEWHEEL") }, 227 | { 523, TEXT("WM_XBUTTONDOWN") }, 228 | { 524, TEXT("WM_XBUTTONUP") }, 229 | { 525, TEXT("WM_XBUTTONDBLCLK") }, 230 | { 528, TEXT("WM_PARENTNOTIFY") }, 231 | { 529, TEXT("WM_ENTERMENULOOP") }, 232 | { 530, TEXT("WM_EXITMENULOOP") }, 233 | { 531, TEXT("WM_NEXTMENU") }, 234 | { 532, TEXT("WM_SIZING") }, 235 | { 533, TEXT("WM_CAPTURECHANGED") }, 236 | { 534, TEXT("WM_MOVING") }, 237 | { 536, TEXT("WM_POWERBROADCAST") }, 238 | { 537, TEXT("WM_DEVICECHANGE") }, 239 | { 544, TEXT("WM_MDICREATE") }, 240 | { 545, TEXT("WM_MDIDESTROY") }, 241 | { 546, TEXT("WM_MDIACTIVATE") }, 242 | { 547, TEXT("WM_MDIRESTORE") }, 243 | { 548, TEXT("WM_MDINEXT") }, 244 | { 549, TEXT("WM_MDIMAXIMIZE") }, 245 | { 550, TEXT("WM_MDITILE") }, 246 | { 551, TEXT("WM_MDICASCADE") }, 247 | { 552, TEXT("WM_MDIICONARRANGE") }, 248 | { 553, TEXT("WM_MDIGETACTIVE") }, 249 | { 560, TEXT("WM_MDISETMENU") }, 250 | { 561, TEXT("WM_ENTERSIZEMOVE") }, 251 | { 562, TEXT("WM_EXITSIZEMOVE") }, 252 | { 563, TEXT("WM_DROPFILES") }, 253 | { 564, TEXT("WM_MDIREFRESHMENU") }, 254 | { 640, TEXT("WM_IME_REPORT") }, 255 | { 641, TEXT("WM_IME_SETCONTEXT") }, 256 | { 642, TEXT("WM_IME_NOTIFY") }, 257 | { 643, TEXT("WM_IME_CONTROL") }, 258 | { 644, TEXT("WM_IME_COMPOSITIONFULL") }, 259 | { 645, TEXT("WM_IME_SELECT") }, 260 | { 646, TEXT("WM_IME_CHAR") }, 261 | { 648, TEXT("WM_IME_REQUEST") }, 262 | { 656, TEXT("WM_IMEKEYDOWN") }, 263 | { 656, TEXT("WM_IME_KEYDOWN") }, 264 | { 657, TEXT("WM_IMEKEYUP") }, 265 | { 657, TEXT("WM_IME_KEYUP") }, 266 | { 672, TEXT("WM_NCMOUSEHOVER") }, 267 | { 673, TEXT("WM_MOUSEHOVER") }, 268 | { 674, TEXT("WM_NCMOUSELEAVE") }, 269 | { 675, TEXT("WM_MOUSELEAVE") }, 270 | { 768, TEXT("WM_CUT") }, 271 | { 769, TEXT("WM_COPY") }, 272 | { 770, TEXT("WM_PASTE") }, 273 | { 771, TEXT("WM_CLEAR") }, 274 | { 772, TEXT("WM_UNDO") }, 275 | { 773, TEXT("WM_RENDERFORMAT") }, 276 | { 774, TEXT("WM_RENDERALLFORMATS") }, 277 | { 775, TEXT("WM_DESTROYCLIPBOARD") }, 278 | { 776, TEXT("WM_DRAWCLIPBOARD") }, 279 | { 777, TEXT("WM_PAINTCLIPBOARD") }, 280 | { 778, TEXT("WM_VSCROLLCLIPBOARD") }, 281 | { 779, TEXT("WM_SIZECLIPBOARD") }, 282 | { 780, TEXT("WM_ASKCBFORMATNAME") }, 283 | { 781, TEXT("WM_CHANGECBCHAIN") }, 284 | { 782, TEXT("WM_HSCROLLCLIPBOARD") }, 285 | { 783, TEXT("WM_QUERYNEWPALETTE") }, 286 | { 784, TEXT("WM_PALETTEISCHANGING") }, 287 | { 785, TEXT("WM_PALETTECHANGED") }, 288 | { 786, TEXT("WM_HOTKEY") }, 289 | { 791, TEXT("WM_PRINT") }, 290 | { 792, TEXT("WM_PRINTCLIENT") }, 291 | { 793, TEXT("WM_APPCOMMAND") }, 292 | { 856, TEXT("WM_HANDHELDFIRST") }, 293 | { 863, TEXT("WM_HANDHELDLAST") }, 294 | { 864, TEXT("WM_AFXFIRST") }, 295 | { 895, TEXT("WM_AFXLAST") }, 296 | { 896, TEXT("WM_PENWINFIRST") }, 297 | { 897, TEXT("WM_RCRESULT") }, 298 | { 898, TEXT("WM_HOOKRCRESULT") }, 299 | { 899, TEXT("WM_GLOBALRCCHANGE") }, 300 | { 899, TEXT("WM_PENMISCINFO") }, 301 | { 900, TEXT("WM_SKB") }, 302 | { 901, TEXT("WM_HEDITCTL") }, 303 | { 901, TEXT("WM_PENCTL") }, 304 | { 902, TEXT("WM_PENMISC") }, 305 | { 903, TEXT("WM_CTLINIT") }, 306 | { 904, TEXT("WM_PENEVENT") }, 307 | { 911, TEXT("WM_PENWINLAST") }, 308 | { 1024, TEXT("DDM_SETFMT") }, 309 | { 1024, TEXT("DM_GETDEFID") }, 310 | { 1024, TEXT("NIN_SELECT") }, 311 | { 1024, TEXT("TBM_GETPOS") }, 312 | { 1024, TEXT("WM_PSD_PAGESETUPDLG") }, 313 | { 1024, TEXT("WM_USER") }, 314 | { 1025, TEXT("CBEM_INSERTITEMA") }, 315 | { 1025, TEXT("DDM_DRAW") }, 316 | { 1025, TEXT("DM_SETDEFID") }, 317 | { 1025, TEXT("HKM_SETHOTKEY") }, 318 | { 1025, TEXT("PBM_SETRANGE") }, 319 | { 1025, TEXT("RB_INSERTBANDA") }, 320 | { 1025, TEXT("SB_SETTEXTA") }, 321 | { 1025, TEXT("TB_ENABLEBUTTON") }, 322 | { 1025, TEXT("TBM_GETRANGEMIN") }, 323 | { 1025, TEXT("TTM_ACTIVATE") }, 324 | { 1025, TEXT("WM_CHOOSEFONT_GETLOGFONT") }, 325 | { 1025, TEXT("WM_PSD_FULLPAGERECT") }, 326 | { 1026, TEXT("CBEM_SETIMAGELIST") }, 327 | { 1026, TEXT("DDM_CLOSE") }, 328 | { 1026, TEXT("DM_REPOSITION") }, 329 | { 1026, TEXT("HKM_GETHOTKEY") }, 330 | { 1026, TEXT("PBM_SETPOS") }, 331 | { 1026, TEXT("RB_DELETEBAND") }, 332 | { 1026, TEXT("SB_GETTEXTA") }, 333 | { 1026, TEXT("TB_CHECKBUTTON") }, 334 | { 1026, TEXT("TBM_GETRANGEMAX") }, 335 | { 1026, TEXT("WM_PSD_MINMARGINRECT") }, 336 | { 1027, TEXT("CBEM_GETIMAGELIST") }, 337 | { 1027, TEXT("DDM_BEGIN") }, 338 | { 1027, TEXT("HKM_SETRULES") }, 339 | { 1027, TEXT("PBM_DELTAPOS") }, 340 | { 1027, TEXT("RB_GETBARINFO") }, 341 | { 1027, TEXT("SB_GETTEXTLENGTHA") }, 342 | { 1027, TEXT("TBM_GETTIC") }, 343 | { 1027, TEXT("TB_PRESSBUTTON") }, 344 | { 1027, TEXT("TTM_SETDELAYTIME") }, 345 | { 1027, TEXT("WM_PSD_MARGINRECT") }, 346 | { 1028, TEXT("CBEM_GETITEMA") }, 347 | { 1028, TEXT("DDM_END") }, 348 | { 1028, TEXT("PBM_SETSTEP") }, 349 | { 1028, TEXT("RB_SETBARINFO") }, 350 | { 1028, TEXT("SB_SETPARTS") }, 351 | { 1028, TEXT("TB_HIDEBUTTON") }, 352 | { 1028, TEXT("TBM_SETTIC") }, 353 | { 1028, TEXT("TTM_ADDTOOLA") }, 354 | { 1028, TEXT("WM_PSD_GREEKTEXTRECT") }, 355 | { 1029, TEXT("CBEM_SETITEMA") }, 356 | { 1029, TEXT("PBM_STEPIT") }, 357 | { 1029, TEXT("TB_INDETERMINATE") }, 358 | { 1029, TEXT("TBM_SETPOS") }, 359 | { 1029, TEXT("TTM_DELTOOLA") }, 360 | { 1029, TEXT("WM_PSD_ENVSTAMPRECT") }, 361 | { 1030, TEXT("CBEM_GETCOMBOCONTROL") }, 362 | { 1030, TEXT("PBM_SETRANGE32") }, 363 | { 1030, TEXT("RB_SETBANDINFOA") }, 364 | { 1030, TEXT("SB_GETPARTS") }, 365 | { 1030, TEXT("TB_MARKBUTTON") }, 366 | { 1030, TEXT("TBM_SETRANGE") }, 367 | { 1030, TEXT("TTM_NEWTOOLRECTA") }, 368 | { 1030, TEXT("WM_PSD_YAFULLPAGERECT") }, 369 | { 1031, TEXT("CBEM_GETEDITCONTROL") }, 370 | { 1031, TEXT("PBM_GETRANGE") }, 371 | { 1031, TEXT("RB_SETPARENT") }, 372 | { 1031, TEXT("SB_GETBORDERS") }, 373 | { 1031, TEXT("TBM_SETRANGEMIN") }, 374 | { 1031, TEXT("TTM_RELAYEVENT") }, 375 | { 1032, TEXT("CBEM_SETEXSTYLE") }, 376 | { 1032, TEXT("PBM_GETPOS") }, 377 | { 1032, TEXT("RB_HITTEST") }, 378 | { 1032, TEXT("SB_SETMINHEIGHT") }, 379 | { 1032, TEXT("TBM_SETRANGEMAX") }, 380 | { 1032, TEXT("TTM_GETTOOLINFOA") }, 381 | { 1033, TEXT("CBEM_GETEXSTYLE") }, 382 | { 1033, TEXT("CBEM_GETEXTENDEDSTYLE") }, 383 | { 1033, TEXT("PBM_SETBARCOLOR") }, 384 | { 1033, TEXT("RB_GETRECT") }, 385 | { 1033, TEXT("SB_SIMPLE") }, 386 | { 1033, TEXT("TB_ISBUTTONENABLED") }, 387 | { 1033, TEXT("TBM_CLEARTICS") }, 388 | { 1033, TEXT("TTM_SETTOOLINFOA") }, 389 | { 1034, TEXT("CBEM_HASEDITCHANGED") }, 390 | { 1034, TEXT("RB_INSERTBANDW") }, 391 | { 1034, TEXT("SB_GETRECT") }, 392 | { 1034, TEXT("TB_ISBUTTONCHECKED") }, 393 | { 1034, TEXT("TBM_SETSEL") }, 394 | { 1034, TEXT("TTM_HITTESTA") }, 395 | { 1034, TEXT("WIZ_QUERYNUMPAGES") }, 396 | { 1035, TEXT("CBEM_INSERTITEMW") }, 397 | { 1035, TEXT("RB_SETBANDINFOW") }, 398 | { 1035, TEXT("SB_SETTEXTW") }, 399 | { 1035, TEXT("TB_ISBUTTONPRESSED") }, 400 | { 1035, TEXT("TBM_SETSELSTART") }, 401 | { 1035, TEXT("TTM_GETTEXTA") }, 402 | { 1035, TEXT("WIZ_NEXT") }, 403 | { 1036, TEXT("CBEM_SETITEMW") }, 404 | { 1036, TEXT("RB_GETBANDCOUNT") }, 405 | { 1036, TEXT("SB_GETTEXTLENGTHW") }, 406 | { 1036, TEXT("TB_ISBUTTONHIDDEN") }, 407 | { 1036, TEXT("TBM_SETSELEND") }, 408 | { 1036, TEXT("TTM_UPDATETIPTEXTA") }, 409 | { 1036, TEXT("WIZ_PREV") }, 410 | { 1037, TEXT("CBEM_GETITEMW") }, 411 | { 1037, TEXT("RB_GETROWCOUNT") }, 412 | { 1037, TEXT("SB_GETTEXTW") }, 413 | { 1037, TEXT("TB_ISBUTTONINDETERMINATE") }, 414 | { 1037, TEXT("TTM_GETTOOLCOUNT") }, 415 | { 1038, TEXT("CBEM_SETEXTENDEDSTYLE") }, 416 | { 1038, TEXT("RB_GETROWHEIGHT") }, 417 | { 1038, TEXT("SB_ISSIMPLE") }, 418 | { 1038, TEXT("TB_ISBUTTONHIGHLIGHTED") }, 419 | { 1038, TEXT("TBM_GETPTICS") }, 420 | { 1038, TEXT("TTM_ENUMTOOLSA") }, 421 | { 1039, TEXT("SB_SETICON") }, 422 | { 1039, TEXT("TBM_GETTICPOS") }, 423 | { 1039, TEXT("TTM_GETCURRENTTOOLA") }, 424 | { 1040, TEXT("RB_IDTOINDEX") }, 425 | { 1040, TEXT("SB_SETTIPTEXTA") }, 426 | { 1040, TEXT("TBM_GETNUMTICS") }, 427 | { 1040, TEXT("TTM_WINDOWFROMPOINT") }, 428 | { 1041, TEXT("RB_GETTOOLTIPS") }, 429 | { 1041, TEXT("SB_SETTIPTEXTW") }, 430 | { 1041, TEXT("TBM_GETSELSTART") }, 431 | { 1041, TEXT("TB_SETSTATE") }, 432 | { 1041, TEXT("TTM_TRACKACTIVATE") }, 433 | { 1042, TEXT("RB_SETTOOLTIPS") }, 434 | { 1042, TEXT("SB_GETTIPTEXTA") }, 435 | { 1042, TEXT("TB_GETSTATE") }, 436 | { 1042, TEXT("TBM_GETSELEND") }, 437 | { 1042, TEXT("TTM_TRACKPOSITION") }, 438 | { 1043, TEXT("RB_SETBKCOLOR") }, 439 | { 1043, TEXT("SB_GETTIPTEXTW") }, 440 | { 1043, TEXT("TB_ADDBITMAP") }, 441 | { 1043, TEXT("TBM_CLEARSEL") }, 442 | { 1043, TEXT("TTM_SETTIPBKCOLOR") }, 443 | { 1044, TEXT("RB_GETBKCOLOR") }, 444 | { 1044, TEXT("SB_GETICON") }, 445 | { 1044, TEXT("TB_ADDBUTTONSA") }, 446 | { 1044, TEXT("TBM_SETTICFREQ") }, 447 | { 1044, TEXT("TTM_SETTIPTEXTCOLOR") }, 448 | { 1045, TEXT("RB_SETTEXTCOLOR") }, 449 | { 1045, TEXT("TB_INSERTBUTTONA") }, 450 | { 1045, TEXT("TBM_SETPAGESIZE") }, 451 | { 1045, TEXT("TTM_GETDELAYTIME") }, 452 | { 1046, TEXT("RB_GETTEXTCOLOR") }, 453 | { 1046, TEXT("TB_DELETEBUTTON") }, 454 | { 1046, TEXT("TBM_GETPAGESIZE") }, 455 | { 1046, TEXT("TTM_GETTIPBKCOLOR") }, 456 | { 1047, TEXT("RB_SIZETORECT") }, 457 | { 1047, TEXT("TB_GETBUTTON") }, 458 | { 1047, TEXT("TBM_SETLINESIZE") }, 459 | { 1047, TEXT("TTM_GETTIPTEXTCOLOR") }, 460 | { 1048, TEXT("RB_BEGINDRAG") }, 461 | { 1048, TEXT("TB_BUTTONCOUNT") }, 462 | { 1048, TEXT("TBM_GETLINESIZE") }, 463 | { 1048, TEXT("TTM_SETMAXTIPWIDTH") }, 464 | { 1049, TEXT("RB_ENDDRAG") }, 465 | { 1049, TEXT("TB_COMMANDTOINDEX") }, 466 | { 1049, TEXT("TBM_GETTHUMBRECT") }, 467 | { 1049, TEXT("TTM_GETMAXTIPWIDTH") }, 468 | { 1050, TEXT("RB_DRAGMOVE") }, 469 | { 1050, TEXT("TBM_GETCHANNELRECT") }, 470 | { 1050, TEXT("TB_SAVERESTOREA") }, 471 | { 1050, TEXT("TTM_SETMARGIN") }, 472 | { 1051, TEXT("RB_GETBARHEIGHT") }, 473 | { 1051, TEXT("TB_CUSTOMIZE") }, 474 | { 1051, TEXT("TBM_SETTHUMBLENGTH") }, 475 | { 1051, TEXT("TTM_GETMARGIN") }, 476 | { 1052, TEXT("RB_GETBANDINFOW") }, 477 | { 1052, TEXT("TB_ADDSTRINGA") }, 478 | { 1052, TEXT("TBM_GETTHUMBLENGTH") }, 479 | { 1052, TEXT("TTM_POP") }, 480 | { 1053, TEXT("RB_GETBANDINFOA") }, 481 | { 1053, TEXT("TB_GETITEMRECT") }, 482 | { 1053, TEXT("TBM_SETTOOLTIPS") }, 483 | { 1053, TEXT("TTM_UPDATE") }, 484 | { 1054, TEXT("RB_MINIMIZEBAND") }, 485 | { 1054, TEXT("TB_BUTTONSTRUCTSIZE") }, 486 | { 1054, TEXT("TBM_GETTOOLTIPS") }, 487 | { 1054, TEXT("TTM_GETBUBBLESIZE") }, 488 | { 1055, TEXT("RB_MAXIMIZEBAND") }, 489 | { 1055, TEXT("TBM_SETTIPSIDE") }, 490 | { 1055, TEXT("TB_SETBUTTONSIZE") }, 491 | { 1055, TEXT("TTM_ADJUSTRECT") }, 492 | { 1056, TEXT("TBM_SETBUDDY") }, 493 | { 1056, TEXT("TB_SETBITMAPSIZE") }, 494 | { 1056, TEXT("TTM_SETTITLEA") }, 495 | { 1057, TEXT("MSG_FTS_JUMP_VA") }, 496 | { 1057, TEXT("TB_AUTOSIZE") }, 497 | { 1057, TEXT("TBM_GETBUDDY") }, 498 | { 1057, TEXT("TTM_SETTITLEW") }, 499 | { 1058, TEXT("RB_GETBANDBORDERS") }, 500 | { 1059, TEXT("MSG_FTS_JUMP_QWORD") }, 501 | { 1059, TEXT("RB_SHOWBAND") }, 502 | { 1059, TEXT("TB_GETTOOLTIPS") }, 503 | { 1060, TEXT("MSG_REINDEX_REQUEST") }, 504 | { 1060, TEXT("TB_SETTOOLTIPS") }, 505 | { 1061, TEXT("MSG_FTS_WHERE_IS_IT") }, 506 | { 1061, TEXT("RB_SETPALETTE") }, 507 | { 1061, TEXT("TB_SETPARENT") }, 508 | { 1062, TEXT("RB_GETPALETTE") }, 509 | { 1063, TEXT("RB_MOVEBAND") }, 510 | { 1063, TEXT("TB_SETROWS") }, 511 | { 1064, TEXT("TB_GETROWS") }, 512 | { 1065, TEXT("TB_GETBITMAPFLAGS") }, 513 | { 1066, TEXT("TB_SETCMDID") }, 514 | { 1067, TEXT("RB_PUSHCHEVRON") }, 515 | { 1067, TEXT("TB_CHANGEBITMAP") }, 516 | { 1068, TEXT("TB_GETBITMAP") }, 517 | { 1069, TEXT("MSG_GET_DEFFONT") }, 518 | { 1069, TEXT("TB_GETBUTTONTEXTA") }, 519 | { 1070, TEXT("TB_REPLACEBITMAP") }, 520 | { 1071, TEXT("TB_SETINDENT") }, 521 | { 1072, TEXT("TB_SETIMAGELIST") }, 522 | { 1073, TEXT("TB_GETIMAGELIST") }, 523 | { 1074, TEXT("TB_LOADIMAGES") }, 524 | { 1074, TEXT("EM_CANPASTE") }, 525 | { 1074, TEXT("TTM_ADDTOOLW") }, 526 | { 1075, TEXT("EM_DISPLAYBAND") }, 527 | { 1075, TEXT("TB_GETRECT") }, 528 | { 1075, TEXT("TTM_DELTOOLW") }, 529 | { 1076, TEXT("EM_EXGETSEL") }, 530 | { 1076, TEXT("TB_SETHOTIMAGELIST") }, 531 | { 1076, TEXT("TTM_NEWTOOLRECTW") }, 532 | { 1077, TEXT("EM_EXLIMITTEXT") }, 533 | { 1077, TEXT("TB_GETHOTIMAGELIST") }, 534 | { 1077, TEXT("TTM_GETTOOLINFOW") }, 535 | { 1078, TEXT("EM_EXLINEFROMCHAR") }, 536 | { 1078, TEXT("TB_SETDISABLEDIMAGELIST") }, 537 | { 1078, TEXT("TTM_SETTOOLINFOW") }, 538 | { 1079, TEXT("EM_EXSETSEL") }, 539 | { 1079, TEXT("TB_GETDISABLEDIMAGELIST") }, 540 | { 1079, TEXT("TTM_HITTESTW") }, 541 | { 1080, TEXT("EM_FINDTEXT") }, 542 | { 1080, TEXT("TB_SETSTYLE") }, 543 | { 1080, TEXT("TTM_GETTEXTW") }, 544 | { 1081, TEXT("EM_FORMATRANGE") }, 545 | { 1081, TEXT("TB_GETSTYLE") }, 546 | { 1081, TEXT("TTM_UPDATETIPTEXTW") }, 547 | { 1082, TEXT("EM_GETCHARFORMAT") }, 548 | { 1082, TEXT("TB_GETBUTTONSIZE") }, 549 | { 1082, TEXT("TTM_ENUMTOOLSW") }, 550 | { 1083, TEXT("EM_GETEVENTMASK") }, 551 | { 1083, TEXT("TB_SETBUTTONWIDTH") }, 552 | { 1083, TEXT("TTM_GETCURRENTTOOLW") }, 553 | { 1084, TEXT("EM_GETOLEINTERFACE") }, 554 | { 1084, TEXT("TB_SETMAXTEXTROWS") }, 555 | { 1085, TEXT("EM_GETPARAFORMAT") }, 556 | { 1085, TEXT("TB_GETTEXTROWS") }, 557 | { 1086, TEXT("EM_GETSELTEXT") }, 558 | { 1086, TEXT("TB_GETOBJECT") }, 559 | { 1087, TEXT("EM_HIDESELECTION") }, 560 | { 1087, TEXT("TB_GETBUTTONINFOW") }, 561 | { 1088, TEXT("EM_PASTESPECIAL") }, 562 | { 1088, TEXT("TB_SETBUTTONINFOW") }, 563 | { 1089, TEXT("EM_REQUESTRESIZE") }, 564 | { 1089, TEXT("TB_GETBUTTONINFOA") }, 565 | { 1090, TEXT("EM_SELECTIONTYPE") }, 566 | { 1090, TEXT("TB_SETBUTTONINFOA") }, 567 | { 1091, TEXT("EM_SETBKGNDCOLOR") }, 568 | { 1091, TEXT("TB_INSERTBUTTONW") }, 569 | { 1092, TEXT("EM_SETCHARFORMAT") }, 570 | { 1092, TEXT("TB_ADDBUTTONSW") }, 571 | { 1093, TEXT("EM_SETEVENTMASK") }, 572 | { 1093, TEXT("TB_HITTEST") }, 573 | { 1094, TEXT("EM_SETOLECALLBACK") }, 574 | { 1094, TEXT("TB_SETDRAWTEXTFLAGS") }, 575 | { 1095, TEXT("EM_SETPARAFORMAT") }, 576 | { 1095, TEXT("TB_GETHOTITEM") }, 577 | { 1096, TEXT("EM_SETTARGETDEVICE") }, 578 | { 1096, TEXT("TB_SETHOTITEM") }, 579 | { 1097, TEXT("EM_STREAMIN") }, 580 | { 1097, TEXT("TB_SETANCHORHIGHLIGHT") }, 581 | { 1098, TEXT("EM_STREAMOUT") }, 582 | { 1098, TEXT("TB_GETANCHORHIGHLIGHT") }, 583 | { 1099, TEXT("EM_GETTEXTRANGE") }, 584 | { 1099, TEXT("TB_GETBUTTONTEXTW") }, 585 | { 1100, TEXT("EM_FINDWORDBREAK") }, 586 | { 1100, TEXT("TB_SAVERESTOREW") }, 587 | { 1101, TEXT("EM_SETOPTIONS") }, 588 | { 1101, TEXT("TB_ADDSTRINGW") }, 589 | { 1102, TEXT("EM_GETOPTIONS") }, 590 | { 1102, TEXT("TB_MAPACCELERATORA") }, 591 | { 1103, TEXT("EM_FINDTEXTEX") }, 592 | { 1103, TEXT("TB_GETINSERTMARK") }, 593 | { 1104, TEXT("EM_GETWORDBREAKPROCEX") }, 594 | { 1104, TEXT("TB_SETINSERTMARK") }, 595 | { 1105, TEXT("EM_SETWORDBREAKPROCEX") }, 596 | { 1105, TEXT("TB_INSERTMARKHITTEST") }, 597 | { 1106, TEXT("EM_SETUNDOLIMIT") }, 598 | { 1106, TEXT("TB_MOVEBUTTON") }, 599 | { 1107, TEXT("TB_GETMAXSIZE") }, 600 | { 1108, TEXT("EM_REDO") }, 601 | { 1108, TEXT("TB_SETEXTENDEDSTYLE") }, 602 | { 1109, TEXT("EM_CANREDO") }, 603 | { 1109, TEXT("TB_GETEXTENDEDSTYLE") }, 604 | { 1110, TEXT("EM_GETUNDONAME") }, 605 | { 1110, TEXT("TB_GETPADDING") }, 606 | { 1111, TEXT("EM_GETREDONAME") }, 607 | { 1111, TEXT("TB_SETPADDING") }, 608 | { 1112, TEXT("EM_STOPGROUPTYPING") }, 609 | { 1112, TEXT("TB_SETINSERTMARKCOLOR") }, 610 | { 1113, TEXT("EM_SETTEXTMODE") }, 611 | { 1113, TEXT("TB_GETINSERTMARKCOLOR") }, 612 | { 1114, TEXT("EM_GETTEXTMODE") }, 613 | { 1114, TEXT("TB_MAPACCELERATORW") }, 614 | { 1115, TEXT("EM_AUTOURLDETECT") }, 615 | { 1115, TEXT("TB_GETSTRINGW") }, 616 | { 1116, TEXT("EM_GETAUTOURLDETECT") }, 617 | { 1116, TEXT("TB_GETSTRINGA") }, 618 | { 1117, TEXT("EM_SETPALETTE") }, 619 | { 1118, TEXT("EM_GETTEXTEX") }, 620 | { 1119, TEXT("EM_GETTEXTLENGTHEX") }, 621 | { 1120, TEXT("EM_SHOWSCROLLBAR") }, 622 | { 1121, TEXT("EM_SETTEXTEX") }, 623 | { 1123, TEXT("TAPI_REPLY") }, 624 | { 1124, TEXT("ACM_OPENA") }, 625 | { 1124, TEXT("BFFM_SETSTATUSTEXTA") }, 626 | { 1124, TEXT("CDM_FIRST") }, 627 | { 1124, TEXT("CDM_GETSPEC") }, 628 | { 1124, TEXT("EM_SETPUNCTUATION") }, 629 | { 1124, TEXT("IPM_CLEARADDRESS") }, 630 | { 1124, TEXT("WM_CAP_UNICODE_START") }, 631 | { 1125, TEXT("ACM_PLAY") }, 632 | { 1125, TEXT("BFFM_ENABLEOK") }, 633 | { 1125, TEXT("CDM_GETFILEPATH") }, 634 | { 1125, TEXT("EM_GETPUNCTUATION") }, 635 | { 1125, TEXT("IPM_SETADDRESS") }, 636 | { 1125, TEXT("PSM_SETCURSEL") }, 637 | { 1125, TEXT("UDM_SETRANGE") }, 638 | { 1125, TEXT("WM_CHOOSEFONT_SETLOGFONT") }, 639 | { 1126, TEXT("ACM_STOP") }, 640 | { 1126, TEXT("BFFM_SETSELECTIONA") }, 641 | { 1126, TEXT("CDM_GETFOLDERPATH") }, 642 | { 1126, TEXT("EM_SETWORDWRAPMODE") }, 643 | { 1126, TEXT("IPM_GETADDRESS") }, 644 | { 1126, TEXT("PSM_REMOVEPAGE") }, 645 | { 1126, TEXT("UDM_GETRANGE") }, 646 | { 1126, TEXT("WM_CAP_SET_CALLBACK_ERRORW") }, 647 | { 1126, TEXT("WM_CHOOSEFONT_SETFLAGS") }, 648 | { 1127, TEXT("ACM_OPENW") }, 649 | { 1127, TEXT("BFFM_SETSELECTIONW") }, 650 | { 1127, TEXT("CDM_GETFOLDERIDLIST") }, 651 | { 1127, TEXT("EM_GETWORDWRAPMODE") }, 652 | { 1127, TEXT("IPM_SETRANGE") }, 653 | { 1127, TEXT("PSM_ADDPAGE") }, 654 | { 1127, TEXT("UDM_SETPOS") }, 655 | { 1127, TEXT("WM_CAP_SET_CALLBACK_STATUSW") }, 656 | { 1128, TEXT("BFFM_SETSTATUSTEXTW") }, 657 | { 1128, TEXT("CDM_SETCONTROLTEXT") }, 658 | { 1128, TEXT("EM_SETIMECOLOR") }, 659 | { 1128, TEXT("IPM_SETFOCUS") }, 660 | { 1128, TEXT("PSM_CHANGED") }, 661 | { 1128, TEXT("UDM_GETPOS") }, 662 | { 1129, TEXT("CDM_HIDECONTROL") }, 663 | { 1129, TEXT("EM_GETIMECOLOR") }, 664 | { 1129, TEXT("IPM_ISBLANK") }, 665 | { 1129, TEXT("PSM_RESTARTWINDOWS") }, 666 | { 1129, TEXT("UDM_SETBUDDY") }, 667 | { 1130, TEXT("CDM_SETDEFEXT") }, 668 | { 1130, TEXT("EM_SETIMEOPTIONS") }, 669 | { 1130, TEXT("PSM_REBOOTSYSTEM") }, 670 | { 1130, TEXT("UDM_GETBUDDY") }, 671 | { 1131, TEXT("EM_GETIMEOPTIONS") }, 672 | { 1131, TEXT("PSM_CANCELTOCLOSE") }, 673 | { 1131, TEXT("UDM_SETACCEL") }, 674 | { 1132, TEXT("EM_CONVPOSITION") }, 675 | { 1132, TEXT("EM_CONVPOSITION") }, 676 | { 1132, TEXT("PSM_QUERYSIBLINGS") }, 677 | { 1132, TEXT("UDM_GETACCEL") }, 678 | { 1133, TEXT("MCIWNDM_GETZOOM") }, 679 | { 1133, TEXT("PSM_UNCHANGED") }, 680 | { 1133, TEXT("UDM_SETBASE") }, 681 | { 1134, TEXT("PSM_APPLY") }, 682 | { 1134, TEXT("UDM_GETBASE") }, 683 | { 1135, TEXT("PSM_SETTITLEA") }, 684 | { 1135, TEXT("UDM_SETRANGE32") }, 685 | { 1136, TEXT("PSM_SETWIZBUTTONS") }, 686 | { 1136, TEXT("UDM_GETRANGE32") }, 687 | { 1136, TEXT("WM_CAP_DRIVER_GET_NAMEW") }, 688 | { 1137, TEXT("PSM_PRESSBUTTON") }, 689 | { 1137, TEXT("UDM_SETPOS32") }, 690 | { 1137, TEXT("WM_CAP_DRIVER_GET_VERSIONW") }, 691 | { 1138, TEXT("PSM_SETCURSELID") }, 692 | { 1138, TEXT("UDM_GETPOS32") }, 693 | { 1139, TEXT("PSM_SETFINISHTEXTA") }, 694 | { 1140, TEXT("PSM_GETTABCONTROL") }, 695 | { 1141, TEXT("PSM_ISDIALOGMESSAGE") }, 696 | { 1142, TEXT("MCIWNDM_REALIZE") }, 697 | { 1142, TEXT("PSM_GETCURRENTPAGEHWND") }, 698 | { 1143, TEXT("MCIWNDM_SETTIMEFORMATA") }, 699 | { 1143, TEXT("PSM_INSERTPAGE") }, 700 | { 1144, TEXT("EM_SETLANGOPTIONS") }, 701 | { 1144, TEXT("MCIWNDM_GETTIMEFORMATA") }, 702 | { 1144, TEXT("PSM_SETTITLEW") }, 703 | { 1144, TEXT("WM_CAP_FILE_SET_CAPTURE_FILEW") }, 704 | { 1145, TEXT("EM_GETLANGOPTIONS") }, 705 | { 1145, TEXT("MCIWNDM_VALIDATEMEDIA") }, 706 | { 1145, TEXT("PSM_SETFINISHTEXTW") }, 707 | { 1145, TEXT("WM_CAP_FILE_GET_CAPTURE_FILEW") }, 708 | { 1146, TEXT("EM_GETIMECOMPMODE") }, 709 | { 1147, TEXT("EM_FINDTEXTW") }, 710 | { 1147, TEXT("MCIWNDM_PLAYTO") }, 711 | { 1147, TEXT("WM_CAP_FILE_SAVEASW") }, 712 | { 1148, TEXT("EM_FINDTEXTEXW") }, 713 | { 1148, TEXT("MCIWNDM_GETFILENAMEA") }, 714 | { 1149, TEXT("EM_RECONVERSION") }, 715 | { 1149, TEXT("MCIWNDM_GETDEVICEA") }, 716 | { 1149, TEXT("PSM_SETHEADERTITLEA") }, 717 | { 1149, TEXT("WM_CAP_FILE_SAVEDIBW") }, 718 | { 1150, TEXT("EM_SETIMEMODEBIAS") }, 719 | { 1150, TEXT("MCIWNDM_GETPALETTE") }, 720 | { 1150, TEXT("PSM_SETHEADERTITLEW") }, 721 | { 1151, TEXT("EM_GETIMEMODEBIAS") }, 722 | { 1151, TEXT("MCIWNDM_SETPALETTE") }, 723 | { 1151, TEXT("PSM_SETHEADERSUBTITLEA") }, 724 | { 1152, TEXT("MCIWNDM_GETERRORA") }, 725 | { 1152, TEXT("PSM_SETHEADERSUBTITLEW") }, 726 | { 1153, TEXT("PSM_HWNDTOINDEX") }, 727 | { 1154, TEXT("PSM_INDEXTOHWND") }, 728 | { 1155, TEXT("MCIWNDM_SETINACTIVETIMER") }, 729 | { 1155, TEXT("PSM_PAGETOINDEX") }, 730 | { 1156, TEXT("PSM_INDEXTOPAGE") }, 731 | { 1157, TEXT("DL_BEGINDRAG") }, 732 | { 1157, TEXT("MCIWNDM_GETINACTIVETIMER") }, 733 | { 1157, TEXT("PSM_IDTOINDEX") }, 734 | { 1158, TEXT("DL_DRAGGING") }, 735 | { 1158, TEXT("PSM_INDEXTOID") }, 736 | { 1159, TEXT("DL_DROPPED") }, 737 | { 1159, TEXT("PSM_GETRESULT") }, 738 | { 1160, TEXT("DL_CANCELDRAG") }, 739 | { 1160, TEXT("PSM_RECALCPAGESIZES") }, 740 | { 1164, TEXT("MCIWNDM_GET_SOURCE") }, 741 | { 1165, TEXT("MCIWNDM_PUT_SOURCE") }, 742 | { 1166, TEXT("MCIWNDM_GET_DEST") }, 743 | { 1167, TEXT("MCIWNDM_PUT_DEST") }, 744 | { 1168, TEXT("MCIWNDM_CAN_PLAY") }, 745 | { 1169, TEXT("MCIWNDM_CAN_WINDOW") }, 746 | { 1170, TEXT("MCIWNDM_CAN_RECORD") }, 747 | { 1171, TEXT("MCIWNDM_CAN_SAVE") }, 748 | { 1172, TEXT("MCIWNDM_CAN_EJECT") }, 749 | { 1173, TEXT("MCIWNDM_CAN_CONFIG") }, 750 | { 1174, TEXT("IE_GETINK") }, 751 | { 1174, TEXT("IE_MSGFIRST") }, 752 | { 1174, TEXT("MCIWNDM_PALETTEKICK") }, 753 | { 1175, TEXT("IE_SETINK") }, 754 | { 1176, TEXT("IE_GETPENTIP") }, 755 | { 1177, TEXT("IE_SETPENTIP") }, 756 | { 1178, TEXT("IE_GETERASERTIP") }, 757 | { 1179, TEXT("IE_SETERASERTIP") }, 758 | { 1180, TEXT("IE_GETBKGND") }, 759 | { 1181, TEXT("IE_SETBKGND") }, 760 | { 1182, TEXT("IE_GETGRIDORIGIN") }, 761 | { 1183, TEXT("IE_SETGRIDORIGIN") }, 762 | { 1184, TEXT("IE_GETGRIDPEN") }, 763 | { 1185, TEXT("IE_SETGRIDPEN") }, 764 | { 1186, TEXT("IE_GETGRIDSIZE") }, 765 | { 1187, TEXT("IE_SETGRIDSIZE") }, 766 | { 1188, TEXT("IE_GETMODE") }, 767 | { 1189, TEXT("IE_SETMODE") }, 768 | { 1190, TEXT("IE_GETINKRECT") }, 769 | { 1190, TEXT("WM_CAP_SET_MCI_DEVICEW") }, 770 | { 1191, TEXT("WM_CAP_GET_MCI_DEVICEW") }, 771 | { 1204, TEXT("WM_CAP_PAL_OPENW") }, 772 | { 1205, TEXT("WM_CAP_PAL_SAVEW") }, 773 | { 1208, TEXT("IE_GETAPPDATA") }, 774 | { 1209, TEXT("IE_SETAPPDATA") }, 775 | { 1210, TEXT("IE_GETDRAWOPTS") }, 776 | { 1211, TEXT("IE_SETDRAWOPTS") }, 777 | { 1212, TEXT("IE_GETFORMAT") }, 778 | { 1213, TEXT("IE_SETFORMAT") }, 779 | { 1214, TEXT("IE_GETINKINPUT") }, 780 | { 1215, TEXT("IE_SETINKINPUT") }, 781 | { 1216, TEXT("IE_GETNOTIFY") }, 782 | { 1217, TEXT("IE_SETNOTIFY") }, 783 | { 1218, TEXT("IE_GETRECOG") }, 784 | { 1219, TEXT("IE_SETRECOG") }, 785 | { 1220, TEXT("IE_GETSECURITY") }, 786 | { 1221, TEXT("IE_SETSECURITY") }, 787 | { 1222, TEXT("IE_GETSEL") }, 788 | { 1223, TEXT("IE_SETSEL") }, 789 | { 1224, TEXT("CDM_LAST") }, 790 | { 1224, TEXT("EM_SETBIDIOPTIONS") }, 791 | { 1224, TEXT("IE_DOCOMMAND") }, 792 | { 1224, TEXT("MCIWNDM_NOTIFYMODE") }, 793 | { 1225, TEXT("EM_GETBIDIOPTIONS") }, 794 | { 1225, TEXT("IE_GETCOMMAND") }, 795 | { 1226, TEXT("EM_SETTYPOGRAPHYOPTIONS") }, 796 | { 1226, TEXT("IE_GETCOUNT") }, 797 | { 1227, TEXT("EM_GETTYPOGRAPHYOPTIONS") }, 798 | { 1227, TEXT("IE_GETGESTURE") }, 799 | { 1227, TEXT("MCIWNDM_NOTIFYMEDIA") }, 800 | { 1228, TEXT("EM_SETEDITSTYLE") }, 801 | { 1228, TEXT("IE_GETMENU") }, 802 | { 1229, TEXT("EM_GETEDITSTYLE") }, 803 | { 1229, TEXT("IE_GETPAINTDC") }, 804 | { 1229, TEXT("MCIWNDM_NOTIFYERROR") }, 805 | { 1230, TEXT("IE_GETPDEVENT") }, 806 | { 1231, TEXT("IE_GETSELCOUNT") }, 807 | { 1232, TEXT("IE_GETSELITEMS") }, 808 | { 1233, TEXT("IE_GETSTYLE") }, 809 | { 1243, TEXT("MCIWNDM_SETTIMEFORMATW") }, 810 | { 1244, TEXT("EM_OUTLINE") }, 811 | { 1244, TEXT("EM_OUTLINE") }, 812 | { 1244, TEXT("MCIWNDM_GETTIMEFORMATW") }, 813 | { 1245, TEXT("EM_GETSCROLLPOS") }, 814 | { 1245, TEXT("EM_GETSCROLLPOS") }, 815 | { 1246, TEXT("EM_SETSCROLLPOS") }, 816 | { 1246, TEXT("EM_SETSCROLLPOS") }, 817 | { 1247, TEXT("EM_SETFONTSIZE") }, 818 | { 1247, TEXT("EM_SETFONTSIZE") }, 819 | { 1248, TEXT("EM_GETZOOM") }, 820 | { 1248, TEXT("MCIWNDM_GETFILENAMEW") }, 821 | { 1249, TEXT("EM_SETZOOM") }, 822 | { 1249, TEXT("MCIWNDM_GETDEVICEW") }, 823 | { 1250, TEXT("EM_GETVIEWKIND") }, 824 | { 1251, TEXT("EM_SETVIEWKIND") }, 825 | { 1252, TEXT("EM_GETPAGE") }, 826 | { 1252, TEXT("MCIWNDM_GETERRORW") }, 827 | { 1253, TEXT("EM_SETPAGE") }, 828 | { 1254, TEXT("EM_GETHYPHENATEINFO") }, 829 | { 1255, TEXT("EM_SETHYPHENATEINFO") }, 830 | { 1259, TEXT("EM_GETPAGEROTATE") }, 831 | { 1260, TEXT("EM_SETPAGEROTATE") }, 832 | { 1261, TEXT("EM_GETCTFMODEBIAS") }, 833 | { 1262, TEXT("EM_SETCTFMODEBIAS") }, 834 | { 1264, TEXT("EM_GETCTFOPENSTATUS") }, 835 | { 1265, TEXT("EM_SETCTFOPENSTATUS") }, 836 | { 1266, TEXT("EM_GETIMECOMPTEXT") }, 837 | { 1267, TEXT("EM_ISIME") }, 838 | { 1268, TEXT("EM_GETIMEPROPERTY") }, 839 | { 1293, TEXT("EM_GETQUERYRTFOBJ") }, 840 | { 1294, TEXT("EM_SETQUERYRTFOBJ") }, 841 | { 1536, TEXT("FM_GETFOCUS") }, 842 | { 1537, TEXT("FM_GETDRIVEINFOA") }, 843 | { 1538, TEXT("FM_GETSELCOUNT") }, 844 | { 1539, TEXT("FM_GETSELCOUNTLFN") }, 845 | { 1540, TEXT("FM_GETFILESELA") }, 846 | { 1541, TEXT("FM_GETFILESELLFNA") }, 847 | { 1542, TEXT("FM_REFRESH_WINDOWS") }, 848 | { 1543, TEXT("FM_RELOAD_EXTENSIONS") }, 849 | { 1553, TEXT("FM_GETDRIVEINFOW") }, 850 | { 1556, TEXT("FM_GETFILESELW") }, 851 | { 1557, TEXT("FM_GETFILESELLFNW") }, 852 | { 1625, TEXT("WLX_WM_SAS") }, 853 | { 2024, TEXT("SM_GETSELCOUNT") }, 854 | { 2024, TEXT("UM_GETSELCOUNT") }, 855 | { 2024, TEXT("WM_CPL_LAUNCH") }, 856 | { 2025, TEXT("SM_GETSERVERSELA") }, 857 | { 2025, TEXT("UM_GETUSERSELA") }, 858 | { 2025, TEXT("WM_CPL_LAUNCHED") }, 859 | { 2026, TEXT("SM_GETSERVERSELW") }, 860 | { 2026, TEXT("UM_GETUSERSELW") }, 861 | { 2027, TEXT("SM_GETCURFOCUSA") }, 862 | { 2027, TEXT("UM_GETGROUPSELA") }, 863 | { 2028, TEXT("SM_GETCURFOCUSW") }, 864 | { 2028, TEXT("UM_GETGROUPSELW") }, 865 | { 2029, TEXT("SM_GETOPTIONS") }, 866 | { 2029, TEXT("UM_GETCURFOCUSA") }, 867 | { 2030, TEXT("UM_GETCURFOCUSW") }, 868 | { 2031, TEXT("UM_GETOPTIONS") }, 869 | { 2032, TEXT("UM_GETOPTIONS2") }, 870 | { 4096, TEXT("LVM_FIRST") }, 871 | { 4096, TEXT("LVM_GETBKCOLOR") }, 872 | { 4097, TEXT("LVM_SETBKCOLOR") }, 873 | { 4098, TEXT("LVM_GETIMAGELIST") }, 874 | { 4099, TEXT("LVM_SETIMAGELIST") }, 875 | { 4100, TEXT("LVM_GETITEMCOUNT") }, 876 | { 4101, TEXT("LVM_GETITEMA") }, 877 | { 4102, TEXT("LVM_SETITEMA") }, 878 | { 4103, TEXT("LVM_INSERTITEMA") }, 879 | { 4104, TEXT("LVM_DELETEITEM") }, 880 | { 4105, TEXT("LVM_DELETEALLITEMS") }, 881 | { 4106, TEXT("LVM_GETCALLBACKMASK") }, 882 | { 4107, TEXT("LVM_SETCALLBACKMASK") }, 883 | { 4108, TEXT("LVM_GETNEXTITEM") }, 884 | { 4109, TEXT("LVM_FINDITEMA") }, 885 | { 4110, TEXT("LVM_GETITEMRECT") }, 886 | { 4111, TEXT("LVM_SETITEMPOSITION") }, 887 | { 4112, TEXT("LVM_GETITEMPOSITION") }, 888 | { 4113, TEXT("LVM_GETSTRINGWIDTHA") }, 889 | { 4114, TEXT("LVM_HITTEST") }, 890 | { 4115, TEXT("LVM_ENSUREVISIBLE") }, 891 | { 4116, TEXT("LVM_SCROLL") }, 892 | { 4117, TEXT("LVM_REDRAWITEMS") }, 893 | { 4118, TEXT("LVM_ARRANGE") }, 894 | { 4119, TEXT("LVM_EDITLABELA") }, 895 | { 4120, TEXT("LVM_GETEDITCONTROL") }, 896 | { 4121, TEXT("LVM_GETCOLUMNA") }, 897 | { 4122, TEXT("LVM_SETCOLUMNA") }, 898 | { 4123, TEXT("LVM_INSERTCOLUMNA") }, 899 | { 4124, TEXT("LVM_DELETECOLUMN") }, 900 | { 4125, TEXT("LVM_GETCOLUMNWIDTH") }, 901 | { 4126, TEXT("LVM_SETCOLUMNWIDTH") }, 902 | { 4127, TEXT("LVM_GETHEADER") }, 903 | { 4129, TEXT("LVM_CREATEDRAGIMAGE") }, 904 | { 4130, TEXT("LVM_GETVIEWRECT") }, 905 | { 4131, TEXT("LVM_GETTEXTCOLOR") }, 906 | { 4132, TEXT("LVM_SETTEXTCOLOR") }, 907 | { 4133, TEXT("LVM_GETTEXTBKCOLOR") }, 908 | { 4134, TEXT("LVM_SETTEXTBKCOLOR") }, 909 | { 4135, TEXT("LVM_GETTOPINDEX") }, 910 | { 4136, TEXT("LVM_GETCOUNTPERPAGE") }, 911 | { 4137, TEXT("LVM_GETORIGIN") }, 912 | { 4138, TEXT("LVM_UPDATE") }, 913 | { 4139, TEXT("LVM_SETITEMSTATE") }, 914 | { 4140, TEXT("LVM_GETITEMSTATE") }, 915 | { 4141, TEXT("LVM_GETITEMTEXTA") }, 916 | { 4142, TEXT("LVM_SETITEMTEXTA") }, 917 | { 4143, TEXT("LVM_SETITEMCOUNT") }, 918 | { 4144, TEXT("LVM_SORTITEMS") }, 919 | { 4145, TEXT("LVM_SETITEMPOSITION32") }, 920 | { 4146, TEXT("LVM_GETSELECTEDCOUNT") }, 921 | { 4147, TEXT("LVM_GETITEMSPACING") }, 922 | { 4148, TEXT("LVM_GETISEARCHSTRINGA") }, 923 | { 4149, TEXT("LVM_SETICONSPACING") }, 924 | { 4150, TEXT("LVM_SETEXTENDEDLISTVIEWSTYLE") }, 925 | { 4151, TEXT("LVM_GETEXTENDEDLISTVIEWSTYLE") }, 926 | { 4152, TEXT("LVM_GETSUBITEMRECT") }, 927 | { 4153, TEXT("LVM_SUBITEMHITTEST") }, 928 | { 4154, TEXT("LVM_SETCOLUMNORDERARRAY") }, 929 | { 4155, TEXT("LVM_GETCOLUMNORDERARRAY") }, 930 | { 4156, TEXT("LVM_SETHOTITEM") }, 931 | { 4157, TEXT("LVM_GETHOTITEM") }, 932 | { 4158, TEXT("LVM_SETHOTCURSOR") }, 933 | { 4159, TEXT("LVM_GETHOTCURSOR") }, 934 | { 4160, TEXT("LVM_APPROXIMATEVIEWRECT") }, 935 | { 4161, TEXT("LVM_SETWORKAREAS") }, 936 | { 4162, TEXT("LVM_GETSELECTIONMARK") }, 937 | { 4163, TEXT("LVM_SETSELECTIONMARK") }, 938 | { 4164, TEXT("LVM_SETBKIMAGEA") }, 939 | { 4165, TEXT("LVM_GETBKIMAGEA") }, 940 | { 4166, TEXT("LVM_GETWORKAREAS") }, 941 | { 4167, TEXT("LVM_SETHOVERTIME") }, 942 | { 4168, TEXT("LVM_GETHOVERTIME") }, 943 | { 4169, TEXT("LVM_GETNUMBEROFWORKAREAS") }, 944 | { 4170, TEXT("LVM_SETTOOLTIPS") }, 945 | { 4171, TEXT("LVM_GETITEMW") }, 946 | { 4172, TEXT("LVM_SETITEMW") }, 947 | { 4173, TEXT("LVM_INSERTITEMW") }, 948 | { 4174, TEXT("LVM_GETTOOLTIPS") }, 949 | { 4179, TEXT("LVM_FINDITEMW") }, 950 | { 4183, TEXT("LVM_GETSTRINGWIDTHW") }, 951 | { 4191, TEXT("LVM_GETCOLUMNW") }, 952 | { 4192, TEXT("LVM_SETCOLUMNW") }, 953 | { 4193, TEXT("LVM_INSERTCOLUMNW") }, 954 | { 4211, TEXT("LVM_GETITEMTEXTW") }, 955 | { 4212, TEXT("LVM_SETITEMTEXTW") }, 956 | { 4213, TEXT("LVM_GETISEARCHSTRINGW") }, 957 | { 4214, TEXT("LVM_EDITLABELW") }, 958 | { 4235, TEXT("LVM_GETBKIMAGEW") }, 959 | { 4236, TEXT("LVM_SETSELECTEDCOLUMN") }, 960 | { 4237, TEXT("LVM_SETTILEWIDTH") }, 961 | { 4238, TEXT("LVM_SETVIEW") }, 962 | { 4239, TEXT("LVM_GETVIEW") }, 963 | { 4241, TEXT("LVM_INSERTGROUP") }, 964 | { 4243, TEXT("LVM_SETGROUPINFO") }, 965 | { 4245, TEXT("LVM_GETGROUPINFO") }, 966 | { 4246, TEXT("LVM_REMOVEGROUP") }, 967 | { 4247, TEXT("LVM_MOVEGROUP") }, 968 | { 4250, TEXT("LVM_MOVEITEMTOGROUP") }, 969 | { 4251, TEXT("LVM_SETGROUPMETRICS") }, 970 | { 4252, TEXT("LVM_GETGROUPMETRICS") }, 971 | { 4253, TEXT("LVM_ENABLEGROUPVIEW") }, 972 | { 4254, TEXT("LVM_SORTGROUPS") }, 973 | { 4255, TEXT("LVM_INSERTGROUPSORTED") }, 974 | { 4256, TEXT("LVM_REMOVEALLGROUPS") }, 975 | { 4257, TEXT("LVM_HASGROUP") }, 976 | { 4258, TEXT("LVM_SETTILEVIEWINFO") }, 977 | { 4259, TEXT("LVM_GETTILEVIEWINFO") }, 978 | { 4260, TEXT("LVM_SETTILEINFO") }, 979 | { 4261, TEXT("LVM_GETTILEINFO") }, 980 | { 4262, TEXT("LVM_SETINSERTMARK") }, 981 | { 4263, TEXT("LVM_GETINSERTMARK") }, 982 | { 4264, TEXT("LVM_INSERTMARKHITTEST") }, 983 | { 4265, TEXT("LVM_GETINSERTMARKRECT") }, 984 | { 4266, TEXT("LVM_SETINSERTMARKCOLOR") }, 985 | { 4267, TEXT("LVM_GETINSERTMARKCOLOR") }, 986 | { 4269, TEXT("LVM_SETINFOTIP") }, 987 | { 4270, TEXT("LVM_GETSELECTEDCOLUMN") }, 988 | { 4271, TEXT("LVM_ISGROUPVIEWENABLED") }, 989 | { 4272, TEXT("LVM_GETOUTLINECOLOR") }, 990 | { 4273, TEXT("LVM_SETOUTLINECOLOR") }, 991 | { 4275, TEXT("LVM_CANCELEDITLABEL") }, 992 | { 4276, TEXT("LVM_MAPINDEXTOID") }, 993 | { 4277, TEXT("LVM_MAPIDTOINDEX") }, 994 | { 4278, TEXT("LVM_ISITEMVISIBLE") }, 995 | { 8192, TEXT("OCM__BASE") }, 996 | { 8197, TEXT("LVM_SETUNICODEFORMAT") }, 997 | { 8198, TEXT("LVM_GETUNICODEFORMAT") }, 998 | { 8217, TEXT("OCM_CTLCOLOR") }, 999 | { 8235, TEXT("OCM_DRAWITEM") }, 1000 | { 8236, TEXT("OCM_MEASUREITEM") }, 1001 | { 8237, TEXT("OCM_DELETEITEM") }, 1002 | { 8238, TEXT("OCM_VKEYTOITEM") }, 1003 | { 8239, TEXT("OCM_CHARTOITEM") }, 1004 | { 8249, TEXT("OCM_COMPAREITEM") }, 1005 | { 8270, TEXT("OCM_NOTIFY") }, 1006 | { 8465, TEXT("OCM_COMMAND") }, 1007 | { 8468, TEXT("OCM_HSCROLL") }, 1008 | { 8469, TEXT("OCM_VSCROLL") }, 1009 | { 8498, TEXT("OCM_CTLCOLORMSGBOX") }, 1010 | { 8499, TEXT("OCM_CTLCOLOREDIT") }, 1011 | { 8500, TEXT("OCM_CTLCOLORLISTBOX") }, 1012 | { 8501, TEXT("OCM_CTLCOLORBTN") }, 1013 | { 8502, TEXT("OCM_CTLCOLORDLG") }, 1014 | { 8503, TEXT("OCM_CTLCOLORSCROLLBAR") }, 1015 | { 8504, TEXT("OCM_CTLCOLORSTATIC") }, 1016 | { 8720, TEXT("OCM_PARENTNOTIFY") }, 1017 | { 32768, TEXT("WM_APP") }, 1018 | { 52429, TEXT("WM_RASDIALEVENT") } 1019 | }; 1020 | 1021 | 1022 | FString GetMessageName(uint32 Message) 1023 | { 1024 | // do a binary search over known messages 1025 | int32 Min = 0; 1026 | int32 Max = sizeof(WindowsMessageNames) / sizeof(*WindowsMessageNames); 1027 | 1028 | for (; Min != Max;) 1029 | { 1030 | int32 Index = Min + (Max - Min) / 2; 1031 | auto& MessageName = WindowsMessageNames[Index]; 1032 | 1033 | if (MessageName.Message > Message) 1034 | { 1035 | Max = Index; 1036 | } 1037 | else if (MessageName.Message < Message) 1038 | { 1039 | Min = Index + 1; 1040 | } 1041 | else 1042 | { 1043 | return MessageName.Name; 1044 | } 1045 | } 1046 | 1047 | // unknown message 1048 | return FString::Printf(TEXT("%i"), Message); 1049 | } 1050 | -------------------------------------------------------------------------------- /Source/WindowsMessageHandlerExample/WindowsMessageHandlerExample.Build.cs: -------------------------------------------------------------------------------- 1 | // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. 2 | 3 | using System.IO; 4 | 5 | namespace UnrealBuildTool.Rules 6 | { 7 | using System.IO; 8 | 9 | public class WindowsMessageHandlerExample : ModuleRules 10 | { 11 | public WindowsMessageHandlerExample(ReadOnlyTargetRules Target) : base(Target) 12 | { 13 | PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; 14 | 15 | PrivateDependencyModuleNames.AddRange( 16 | new string[] { 17 | "Core", 18 | "Slate", 19 | "SlateCore", 20 | }); 21 | 22 | PrivateIncludePaths.AddRange( 23 | new string[] { 24 | "WindowsMessageHandlerExample/Private", 25 | }); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /WindowsMessageHandlerExample.uplugin: -------------------------------------------------------------------------------- 1 | { 2 | "CanContainContent": false, 3 | "Category": "UE4Plugins", 4 | "CreatedBy": "Headcrash Industries LLC", 5 | "CreatedByURL": "http://headcrash.industries", 6 | "Description": "Example plug-in for the IWindowsMessageHandler API.", 7 | "DocsURL": "https://github.com/ue4plugins/WindowsMessageHandlerExample", 8 | "EnabledByDefault": true, 9 | "Version": 7, 10 | "VersionName": "7.0", 11 | "EngineVersion" : "4.19.0", 12 | "FileVersion": 3, 13 | "FriendlyName": "WindowsMessageHandlerExample", 14 | "Installed": false, 15 | "IsBetaVersion": false, 16 | "MarketplaceURL": "", 17 | "SupportURL": "", 18 | 19 | "Modules": 20 | [ 21 | { 22 | "Name": "WindowsMessageHandlerExample", 23 | "Type": "Runtime", 24 | "LoadingPhase": "Default", 25 | "WhitelistPlatforms" : [ "Win32", "Win64" ] 26 | } 27 | ] 28 | } --------------------------------------------------------------------------------