128 if (pwndData ==
NULL)
174 int CaptionHeight, iPart;
197 rcWindow.
bottom = CaptionHeight;
207 rcWindow.
top = CaptionHeight;
230 if (pwndData ==
NULL)
322 case WM_STYLECHANGED:
330 case WM_THEMECHANGED:
337 if (pwndData ==
NULL)
373 if (pwndData ==
NULL)
407 if (pwndData ==
NULL)
424 RECT rcWindow, rcParent;
426 HDC hdcPattern, hdcHackPattern;
427 HBITMAP hbmpOld1, hbmpold2, hbmpHack;
493 HBRUSH* phbrush = (HBRUSH*)
ret;
513 WCHAR controlClass[32];
514 GetClassNameW (hwndTarget, controlClass,
sizeof(controlClass) /
sizeof(controlClass[0]));
556 if (pwndData ==
NULL)
697 ret = lpfunc2003(&uah);
HGDIOBJ WINAPI GetStockObject(_In_ int)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
BOOL WINAPI EnumChildWindows(_In_opt_ HWND, _In_ WNDENUMPROC, _In_ LPARAM)
HTHEME GetNCCaptionTheme(HWND hWnd, DWORD style)
HBRUSH hTabBackgroundBrush
HWND WINAPI GetAncestor(_In_ HWND, _In_ UINT)
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
BYTE gabDLGPmessages[UAHOWP_MAX_SIZE]
HRESULT WINAPI GetThemeBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HRGN *pRegion)
HRESULT UXTHEME_LoadImage(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, BOOL glyph, HBITMAP *hBmp, RECT *bmpRect, BOOL *hasImageAlpha)
#define UAH_HOOK_MESSAGE(uahowp, msg)
void HackFillStaticBg(HWND hwnd, HDC hdc, HBRUSH *result)
BOOL WINAPI ThemeHooksInstall()
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
WNDPROC_OWP PostDefDlgProc
#define WM_CTLCOLORSTATIC
static LRESULT CALLBACK ThemePostWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, ULONG_PTR ret, PDWORD unknown)
BYTE gabDWPmessages[UAHOWP_MAX_SIZE]
HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT)
DWORD WINAPI GetThemeAppProperties(void)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
BOOL WINAPI ThemeHooksRemove()
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI IsThemeDialogTextureEnabled(HWND hwnd)
HRESULT GetDiaogTextureBrush(HTHEME theme, HWND hwnd, HDC hdc, HBRUSH *result, BOOL changeOrigin)
HBITMAP hTabBackgroundBmp
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
void UXTHEME_LoadTheme(BOOL bLoad)
int WINAPI GetClassNameW(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPWSTR lpClassName, _In_ int nMaxCount)
OSVERSIONINFOA OSVERSIONINFO
BOOL(CALLBACK * USERAPIHOOKPROC)(UAPIHK State, PUSERAPIHOOK puah)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
SETWINDOWRGN SetWindowRgn
ADJUSTWINDOWRECTEX AdjustWindowRectEx
INT WINAPI ClassicSystemParametersInfoW(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
BOOL WINAPI ClassicAdjustWindowRectEx(LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle)
BOOL WINAPI IsAppThemed(void)
SYSTEMPARAMETERSINFOW SystemParametersInfoW
DWORD WINAPI GetWindowThreadProcessId(HWND, PDWORD)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
BOOL WINAPI SystemParametersInfoA(_In_ UINT, _In_ UINT, _Inout_opt_ PVOID, _In_ UINT)
HWND WINAPI GetDesktopWindow(void)
#define WM_CTLCOLORMSGBOX
ULONG dwOSVersionInfoSize
GETSCROLLINFO GetScrollInfo
INT WINAPI ClassicGetSystemMetrics(int nIndex)
HBRUSH WINAPI CreatePatternBrush(_In_ HBITMAP)
BOOL WINAPI SystemParametersInfoW(_In_ UINT, _In_ UINT, _Inout_opt_ PVOID, _In_ UINT)
BOOL(WINAPI * PREGISTER_UAH_WINXP)(HINSTANCE hInstance, USERAPIHOOKPROC CallbackFunc)
GETSYSTEMMETRICS GetSystemMetrics
struct _WND_DATA * PWND_DATA
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
HTHEME WINAPI OpenThemeDataEx(HWND hwnd, LPCWSTR pszClassList, DWORD flags)
#define WM_NCUAHDRAWCAPTION
#define WM_WINDOWPOSCHANGING
static BOOL CALLBACK ThemeCleanupChildWndContext(HWND hWnd, LPARAM msg)
BOOL WINAPI EnumWindows(_In_ WNDENUMPROC, _In_ LPARAM)
int WINAPI GetSystemMetrics(_In_ int)
HTHEME GetNCScrollbarTheme(HWND hWnd, DWORD style)
WNDPROC_OWP PreDefDlgProc
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
void ThemeCalculateCaptionButtonsPos(HWND hWnd, HTHEME htheme)
HTHEME WINAPI GetWindowTheme(HWND hwnd)
void ThemeDestroyWndData(HWND hWnd)
void SetThemeRegion(HWND hWnd)
LRESULT CALLBACK ThemeWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, WNDPROC DefWndProc)
BOOL WINAPI UnregisterUserApiHook(VOID)
BOOL(WINAPI * PREGISTER_UUAH_WIN2003)(PUSERAPIHOOKINFO puah)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
static LRESULT CALLBACK ThemeDlgPreWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, ULONG_PTR ret, PDWORD unknown)
HWND WINAPI GetParent(_In_ HWND)
INT WINAPI ClassicSystemParametersInfoA(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
static BOOL CALLBACK ThemeCleanupWndContext(HWND hWnd, LPARAM msg)
BOOL WINAPI GetWindowInfo(_In_ HWND, _Inout_ PWINDOWINFO)
int WINAPI ThemeSetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw)
SYSTEMPARAMETERSINFOA SystemParametersInfoA
BOOL CALLBACK UXTHEME_broadcast_theme_changed(HWND hWnd, LPARAM enable)
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI ThemeGetScrollInfo(HWND hwnd, int fnBar, LPSCROLLINFO lpsi)
static LRESULT CALLBACK ThemeDefWindowProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
GLint GLint GLint GLint GLint GLint y
#define WM_WINDOWPOSCHANGED
#define WM_NCUAHDRAWFRAME
BOOL CALLBACK ThemeInitApiHook(UAPIHK State, PUSERAPIHOOK puah)
static LRESULT CALLBACK ThemeDlgPostWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, ULONG_PTR ret, PDWORD unknown)
#define GetProcAddress(x, y)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
PWND_DATA ThemeGetWndData(HWND hWnd)
int OnPostWinPosChanged(HWND hWnd, WINDOWPOS *pWinPos)
static LRESULT CALLBACK ThemePreWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, ULONG_PTR ret, PDWORD unknown)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
USERAPIHOOK g_user32ApiHook
BYTE gabMSGPmessages[UAHOWP_MAX_SIZE]
#define HeapFree(x, y, z)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
static VOID NTAPI BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
DWORD WINAPI GetCurrentProcessId(VOID)
static LRESULT CALLBACK ThemeDefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)