diff --git a/dlls/user32/message.c b/dlls/user32/message.c index 1aee6709857..e5dfa3e4cfb 100644 --- a/dlls/user32/message.c +++ b/dlls/user32/message.c @@ -4578,3 +4578,12 @@ BOOL WINAPI ChangeWindowMessageFilter( UINT message, DWORD flag ) FIXME( "%x %08x\n", message, flag ); return TRUE; } + +/****************************************************************** + * ChangeWindowMessageFilterEx (USER32.@) + */ +BOOL WINAPI ChangeWindowMessageFilterEx( HWND hwnd, UINT message, DWORD action, CHANGEFILTERSTRUCT *changefilter ) +{ + FIXME( "%p %x %d %p\n", hwnd, message, action, changefilter ); + return TRUE; +} diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 052f7ff2259..fe3906f86f9 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -39,6 +39,7 @@ @ stdcall ChangeMenuA(long long ptr long long) @ stdcall ChangeMenuW(long long ptr long long) @ stdcall ChangeWindowMessageFilter(long long) +@ stdcall ChangeWindowMessageFilterEx(long long long ptr) @ stdcall CharLowerA(str) @ stdcall CharLowerBuffA(str long) @ stdcall CharLowerBuffW(wstr long) diff --git a/include/winuser.h b/include/winuser.h index e28bb13910a..0f3d0b1e1c2 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -3219,6 +3219,27 @@ typedef struct #define AnsiToOemBuffW CharToOemBuffW #define AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff) +/* ChangeWindowMessageFilter flags */ +#define MSGFLT_ADD 1 +#define MSGFLT_REMOVE 2 + +/* ChangeWindowMessageFilterEx defines */ +#define MSGFLTINFO_NONE 0 +#define MSGFLTINFO_ALREADYALLOWED_FORWND 1 +#define MSGFLTINFO_ALREADYDISALLOWED_FORWND 2 +#define MSGFLTINFO_ALLOWED_HIGHER 3 + +typedef struct tagCHANGEFILTERSTRUCT +{ + DWORD cbSize; + DWORD ExtStatus; +} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT; + +/* Actions for ChangeWindowMessageFilterEx */ +#define MSGFLT_RESET 0 +#define MSGFLT_ALLOW 1 +#define MSGFLT_DISALLOW 2 + #if defined(_WINGDI_) && !defined(NOGDI) WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA,DWORD); WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW,DWORD); @@ -3293,6 +3314,8 @@ WINUSERAPI BOOL WINAPI ChangeClipboardChain(HWND,HWND); WINUSERAPI BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT); WINUSERAPI BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT); #define ChangeMenu WINELIB_NAME_AW(ChangeMenu) +WINUSERAPI BOOL WINAPI ChangeWindowMessageFilter(UINT,DWORD); +WINUSERAPI BOOL WINAPI ChangeWindowMessageFilterEx(HWND,UINT,DWORD,CHANGEFILTERSTRUCT*); WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR); WINUSERAPI LPWSTR WINAPI CharLowerW(LPWSTR); #define CharLower WINELIB_NAME_AW(CharLower)