From: Mark Harmstone Subject: [PATCH 1/5] include: Add Wine-specific theming hook struct to winuser.h Message-Id: <55109FA9.2070800@burntcomma.com> Date: Mon, 23 Mar 2015 23:20:09 +0000 These patches add theming hook support to uxtheme and user32. On Windows, user32 calls ThemeInitApiHook in uxtheme when a program is launched, and via an undocumented interface exchanges the addresses of various functions. This is needed because uxtheme is used to draw the non-client parts of windows - the captions, the scrollbars, etc. Because we're using our own interface here, as the official one is undocumented, I've renamed the hook function WINE_ThemeInitApiHook, to avoid any problems if anyone ever gets native uxtheme running. --- include/winuser.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/winuser.h b/include/winuser.h index 3d9b937..1f19863 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -4060,6 +4060,15 @@ WORD WINAPI SYSTEM_KillSystemTimer( WORD ); WINUSERAPI BOOL CDECL __wine_send_input( HWND hwnd, const INPUT *input ); #endif +/* Wine-specific version of the undocumented structs + * used by uxtheme to hook into user32. */ + +typedef struct +{ + WNDPROC DefWindowProcA; + WNDPROC DefWindowProcW; +} WINEUSERAPIHOOK; + #ifdef __cplusplus } #endif