diff --git a/dlls/win32u/gdiobj.c b/dlls/win32u/gdiobj.c
index 2bb7011cf697683f3d9357f02c2d1193da26f9c1..2bf3702ddcd561d7f221309cac15283599077c4d 100644
--- a/dlls/win32u/gdiobj.c
+++ b/dlls/win32u/gdiobj.c
@@ -1136,20 +1136,15 @@ static struct unix_funcs unix_funcs =
     NtGdiUnrealizeObject,
     NtGdiUpdateColors,
     NtGdiWidenPath,
-    NtUserDestroyMenu,
     NtUserDrawCaptionTemp,
     NtUserDrawMenuBarTemp,
-    NtUserEnableMenuItem,
     NtUserEnableScrollBar,
     NtUserEndPaint,
     NtUserExcludeUpdateRgn,
     NtUserFlashWindowEx,
     NtUserGetClassInfoEx,
-    NtUserGetMenuBarInfo,
     NtUserGetScrollBarInfo,
-    NtUserGetSystemMenu,
     NtUserGetWindowPlacement,
-    NtUserHiliteMenuItem,
     NtUserInternalGetWindowIcon,
     NtUserRegisterClassExWOW,
     NtUserReleaseDC,
@@ -1159,10 +1154,8 @@ static struct unix_funcs unix_funcs =
     NtUserSetClassLongPtr,
     NtUserSetClassWord,
     NtUserSetLayeredWindowAttributes,
-    NtUserSetMenu,
     NtUserSetParent,
     NtUserSetScrollInfo,
-    NtUserSetSystemMenu,
     NtUserSetWindowLong,
     NtUserSetWindowLongPtr,
     NtUserSetWindowPlacement,
@@ -1173,7 +1166,6 @@ static struct unix_funcs unix_funcs =
     NtUserShowWindowAsync,
     NtUserSystemParametersInfo,
     NtUserSystemParametersInfoForDpi,
-    NtUserTranslateAccelerator,
     NtUserUnregisterClass,
     NtUserUpdateLayeredWindow,
     NtUserWindowFromPoint,
diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c
index 7c95d7d4848115cca01a89ec1ac0f38f98fb47dc..4963657e8ba4af4bcd96ba4ade59af78f929a619 100644
--- a/dlls/win32u/syscall.c
+++ b/dlls/win32u/syscall.c
@@ -134,12 +134,14 @@ static void * const syscalls[] =
     NtUserDestroyAcceleratorTable,
     NtUserDestroyCursor,
     NtUserDestroyInputContext,
+    NtUserDestroyMenu,
     NtUserDestroyWindow,
     NtUserDisableThreadIme,
     NtUserDispatchMessage,
     NtUserDragDetect,
     NtUserDrawIconEx,
     NtUserEmptyClipboard,
+    NtUserEnableMenuItem,
     NtUserEndDeferWindowPosEx,
     NtUserEndMenu,
     NtUserEnumDisplayDevices,
@@ -176,6 +178,7 @@ static void * const syscalls[] =
     NtUserGetKeyboardLayoutName,
     NtUserGetKeyboardState,
     NtUserGetLayeredWindowAttributes,
+    NtUserGetMenuBarInfo,
     NtUserGetMenuItemRect,
     NtUserGetMessage,
     NtUserGetMouseMovePointsEx,
@@ -192,6 +195,7 @@ static void * const syscalls[] =
     NtUserGetRawInputDeviceList,
     NtUserGetRegisteredRawInputDevices,
     NtUserGetSystemDpiForProcess,
+    NtUserGetSystemMenu,
     NtUserGetThreadDesktop,
     NtUserGetTitleBarInfo,
     NtUserGetUpdateRect,
@@ -199,6 +203,7 @@ static void * const syscalls[] =
     NtUserGetUpdatedClipboardFormats,
     NtUserGetWindowRgnEx,
     NtUserHideCaret,
+    NtUserHiliteMenuItem,
     NtUserInitializeClientPfnArrays,
     NtUserInternalGetWindowText,
     NtUserInvalidateRect,
@@ -238,6 +243,7 @@ static void * const syscalls[] =
     NtUserSetFocus,
     NtUserSetInternalWindowPos,
     NtUserSetKeyboardState,
+    NtUserSetMenu,
     NtUserSetMenuContextHelpId,
     NtUserSetMenuDefaultItem,
     NtUserSetObjectInformation,
@@ -245,6 +251,7 @@ static void * const syscalls[] =
     NtUserSetProcessWindowStation,
     NtUserSetProp,
     NtUserSetSysColors,
+    NtUserSetSystemMenu,
     NtUserSetSystemTimer,
     NtUserSetThreadDesktop,
     NtUserSetTimer,
@@ -258,6 +265,7 @@ static void * const syscalls[] =
     NtUserToUnicodeEx,
     NtUserTrackMouseEvent,
     NtUserTrackPopupMenuEx,
+    NtUserTranslateAccelerator,
     NtUserTranslateMessage,
     NtUserUnhookWinEvent,
     NtUserUnhookWindowsHookEx,
diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec
index 1c91fef03dae1d3ef579567c8084f350f8e668df..9c067b0d4acdd0f01b229611ed7f81442982893e 100644
--- a/dlls/win32u/win32u.spec
+++ b/dlls/win32u/win32u.spec
@@ -832,7 +832,7 @@
 @ stdcall -syscall NtUserDestroyCursor(long long)
 @ stub NtUserDestroyDCompositionHwndTarget
 @ stdcall -syscall NtUserDestroyInputContext(long)
-@ stdcall NtUserDestroyMenu(long)
+@ stdcall -syscall NtUserDestroyMenu(long)
 @ stub NtUserDestroyPalmRejectionDelayZone
 @ stdcall -syscall NtUserDestroyWindow(long)
 @ stub NtUserDisableImmersiveOwner
@@ -860,7 +860,7 @@
 @ stdcall -syscall NtUserEmptyClipboard()
 @ stub NtUserEnableChildWindowDpiMessage
 @ stub NtUserEnableIAMAccess
-@ stdcall NtUserEnableMenuItem(long long long)
+@ stdcall -syscall NtUserEnableMenuItem(long long long)
 @ stub NtUserEnableMouseInPointer
 @ stub NtUserEnableMouseInPointerForWindow
 @ stub NtUserEnableMouseInputForCursorSuppression
@@ -952,7 +952,7 @@
 @ stdcall -syscall NtUserGetKeyboardState(ptr)
 @ stdcall -syscall NtUserGetLayeredWindowAttributes(long ptr ptr ptr)
 @ stub NtUserGetListBoxInfo
-@ stdcall NtUserGetMenuBarInfo(long long long ptr)
+@ stdcall -syscall NtUserGetMenuBarInfo(long long long ptr)
 @ stub NtUserGetMenuIndex
 @ stdcall -syscall NtUserGetMenuItemRect(long long long ptr)
 @ stdcall -syscall NtUserGetMessage(ptr long long long)
@@ -994,7 +994,7 @@
 @ stdcall NtUserGetScrollBarInfo(long long ptr)
 @ stub NtUserGetSharedWindowData
 @ stdcall -syscall NtUserGetSystemDpiForProcess(long)
-@ stdcall NtUserGetSystemMenu(long long)
+@ stdcall -syscall NtUserGetSystemMenu(long long)
 @ stdcall -syscall NtUserGetThreadDesktop(long)
 @ stub NtUserGetThreadState
 @ stdcall -syscall NtUserGetTitleBarInfo(long ptr)
@@ -1022,7 +1022,7 @@
 @ stub NtUserHardErrorControl
 @ stdcall -syscall NtUserHideCaret(long)
 @ stub NtUserHidePointerContactVisualization
-@ stdcall NtUserHiliteMenuItem(long long long long)
+@ stdcall -syscall NtUserHiliteMenuItem(long long long long)
 @ stub NtUserHungWindowFromGhostWindow
 @ stub NtUserHwndQueryRedirectionInfo
 @ stub NtUserHwndSetRedirectionInfo
@@ -1206,7 +1206,7 @@
 @ stdcall NtUserSetLayeredWindowAttributes(ptr long long long)
 @ stub NtUserSetMagnificationDesktopMagnifierOffsetsDWMUpdated
 @ stub NtUserSetManipulationInputTarget
-@ stdcall NtUserSetMenu(long long)
+@ stdcall -syscall NtUserSetMenu(long long)
 @ stdcall -syscall NtUserSetMenuContextHelpId(long long)
 @ stdcall -syscall NtUserSetMenuDefaultItem(long long long)
 @ stub NtUserSetMenuFlagRtoL
@@ -1229,7 +1229,7 @@
 @ stub NtUserSetShellWindowEx
 @ stdcall -syscall NtUserSetSysColors(long ptr ptr)
 @ stub NtUserSetSystemCursor
-@ stdcall NtUserSetSystemMenu(long long)
+@ stdcall -syscall NtUserSetSystemMenu(long long)
 @ stdcall -syscall NtUserSetSystemTimer(long long long)
 @ stub NtUserSetTargetForResourceBrokering
 @ stdcall -syscall NtUserSetThreadDesktop(long)
@@ -1281,7 +1281,7 @@
 @ stdcall -syscall NtUserTrackPopupMenuEx(long long long long long ptr)
 @ stub NtUserTransformPoint
 @ stub NtUserTransformRect
-@ stdcall NtUserTranslateAccelerator(long long ptr)
+@ stdcall -syscall NtUserTranslateAccelerator(long long ptr)
 @ stdcall -syscall NtUserTranslateMessage(ptr long)
 @ stub NtUserUndelegateInput
 @ stdcall -syscall NtUserUnhookWinEvent(long)
diff --git a/dlls/win32u/win32u_private.h b/dlls/win32u/win32u_private.h
index a4d7d5e940f753793f3e2c014f12bc6f097552f8..a7128648e518f40fab8a0187dbdec897f90d8c24 100644
--- a/dlls/win32u/win32u_private.h
+++ b/dlls/win32u/win32u_private.h
@@ -186,22 +186,17 @@ struct unix_funcs
     BOOL     (WINAPI *pNtGdiUnrealizeObject)( HGDIOBJ obj );
     BOOL     (WINAPI *pNtGdiUpdateColors)( HDC hdc );
     BOOL     (WINAPI *pNtGdiWidenPath)( HDC hdc );
-    BOOL     (WINAPI *pNtUserDestroyMenu)( HMENU handle );
     BOOL     (WINAPI *pNtUserDrawCaptionTemp)( HWND hwnd, HDC hdc, const RECT *rect, HFONT font,
                                                HICON icon, const WCHAR *str, UINT flags );
     DWORD    (WINAPI *pNtUserDrawMenuBarTemp)( HWND hwnd, HDC hdc, RECT *rect, HMENU handle, HFONT font );
-    BOOL     (WINAPI *pNtUserEnableMenuItem)( HMENU handle, UINT id, UINT flags );
     BOOL     (WINAPI *pNtUserEnableScrollBar)( HWND hwnd, UINT bar, UINT flags );
     BOOL     (WINAPI *pNtUserEndPaint)( HWND hwnd, const PAINTSTRUCT *ps );
     INT      (WINAPI *pNtUserExcludeUpdateRgn)( HDC hdc, HWND hwnd );
     BOOL     (WINAPI *pNtUserFlashWindowEx)( FLASHWINFO *info );
     ATOM     (WINAPI *pNtUserGetClassInfoEx)( HINSTANCE instance, UNICODE_STRING *name, WNDCLASSEXW *wc,
                                               struct client_menu_name *menu_name, BOOL ansi );
-    BOOL     (WINAPI *pNtUserGetMenuBarInfo)( HWND hwnd, LONG id, LONG item, MENUBARINFO *info );
     BOOL     (WINAPI *pNtUserGetScrollBarInfo)( HWND hwnd, LONG id, SCROLLBARINFO *info );
-    HMENU    (WINAPI *pNtUserGetSystemMenu)( HWND hwnd, BOOL revert );
     BOOL     (WINAPI *pNtUserGetWindowPlacement)( HWND hwnd, WINDOWPLACEMENT *placement );
-    BOOL     (WINAPI *pNtUserHiliteMenuItem)( HWND hwnd, HMENU handle, UINT item, UINT hilite );
     HICON    (WINAPI *pNtUserInternalGetWindowIcon)( HWND hwnd, UINT type );
     ATOM     (WINAPI *pNtUserRegisterClassExWOW)( const WNDCLASSEXW *wc, UNICODE_STRING *name,
                                                   UNICODE_STRING *version,
@@ -215,10 +210,8 @@ struct unix_funcs
     ULONG_PTR (WINAPI *pNtUserSetClassLongPtr)( HWND hwnd, INT offset, LONG_PTR newval, BOOL ansi );
     WORD     (WINAPI *pNtUserSetClassWord)( HWND hwnd, INT offset, WORD newval );
     BOOL     (WINAPI *pNtUserSetLayeredWindowAttributes)( HWND hwnd, COLORREF key, BYTE alpha, DWORD flags );
-    BOOL     (WINAPI *pNtUserSetMenu)( HWND hwnd, HMENU menu );
     HWND     (WINAPI *pNtUserSetParent)( HWND hwnd, HWND parent );
     INT      (WINAPI *pNtUserSetScrollInfo)( HWND hwnd, INT bar, const SCROLLINFO *info, BOOL redraw );
-    BOOL     (WINAPI *pNtUserSetSystemMenu)( HWND hwnd, HMENU menu );
     LONG     (WINAPI *pNtUserSetWindowLong)( HWND hwnd, INT offset, LONG newval, BOOL ansi );
     LONG_PTR (WINAPI *pNtUserSetWindowLongPtr)( HWND hwnd, INT offset, LONG_PTR newval, BOOL ansi );
     BOOL     (WINAPI *pNtUserSetWindowPlacement)( HWND hwnd, const WINDOWPLACEMENT *wpl );
@@ -230,7 +223,6 @@ struct unix_funcs
     BOOL     (WINAPI *pNtUserSystemParametersInfo)( UINT action, UINT val, PVOID ptr, UINT winini );
     BOOL     (WINAPI *pNtUserSystemParametersInfoForDpi)( UINT action, UINT val, PVOID ptr,
                                                          UINT winini, UINT dpi );
-    INT      (WINAPI *pNtUserTranslateAccelerator)( HWND hwnd, HACCEL accel, MSG *msg );
     BOOL     (WINAPI *pNtUserUnregisterClass)( UNICODE_STRING *name, HINSTANCE instance,
                                                struct client_menu_name *client_menu_name );
     BOOL     (WINAPI *pNtUserUpdateLayeredWindow)( HWND hwnd, HDC hdc_dst, const POINT *pts_dst,
diff --git a/dlls/win32u/wrappers.c b/dlls/win32u/wrappers.c
index 97acdda8982939da36d374cbf7b1a26c9b5e4b13..b07c40a01ee2b02cf750145ce56aaf898e2391be 100644
--- a/dlls/win32u/wrappers.c
+++ b/dlls/win32u/wrappers.c
@@ -725,12 +725,6 @@ NTSTATUS WINAPI NtGdiDdDDISetVidPnSourceOwner( const D3DKMT_SETVIDPNSOURCEOWNER
     return unix_funcs->pNtGdiDdDDISetVidPnSourceOwner( desc );
 }
 
-BOOL WINAPI NtUserDestroyMenu( HMENU handle )
-{
-    if (!unix_funcs) return FALSE;
-    return unix_funcs->pNtUserDestroyMenu( handle );
-}
-
 BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font,
                                    HICON icon, const WCHAR *str, UINT flags )
 {
@@ -744,12 +738,6 @@ DWORD WINAPI NtUserDrawMenuBarTemp( HWND hwnd, HDC hdc, RECT *rect, HMENU handle
     return unix_funcs->pNtUserDrawMenuBarTemp( hwnd, hdc, rect, handle, font );
 }
 
-BOOL WINAPI NtUserEnableMenuItem( HMENU handle, UINT id, UINT flags )
-{
-    if (!unix_funcs) return FALSE;
-    return unix_funcs->pNtUserEnableMenuItem( handle, id, flags );
-}
-
 BOOL WINAPI NtUserEnableScrollBar( HWND hwnd, UINT bar, UINT flags )
 {
     if (!unix_funcs) return FALSE;
@@ -775,24 +763,6 @@ ATOM WINAPI NtUserGetClassInfoEx( HINSTANCE instance, UNICODE_STRING *name, WNDC
     return unix_funcs->pNtUserGetClassInfoEx( instance, name, wc, menu_name, ansi );
 }
 
-BOOL WINAPI NtUserGetMenuBarInfo( HWND hwnd, LONG id, LONG item, MENUBARINFO *info )
-{
-    if (!unix_funcs) return 0;
-    return unix_funcs->pNtUserGetMenuBarInfo( hwnd, id, item, info );
-}
-
-HMENU WINAPI NtUserGetSystemMenu( HWND hwnd, BOOL revert )
-{
-    if (!unix_funcs) return 0;
-    return unix_funcs->pNtUserGetSystemMenu( hwnd, revert );
-}
-
-BOOL WINAPI NtUserHiliteMenuItem( HWND hwnd, HMENU handle, UINT item, UINT hilite )
-{
-    if (!unix_funcs) return FALSE;
-    return unix_funcs->pNtUserHiliteMenuItem( hwnd, handle, item, hilite );
-}
-
 BOOL WINAPI NtUserGetScrollBarInfo( HWND hwnd, LONG id, SCROLLBARINFO *info )
 {
     if (!unix_funcs) return FALSE;
@@ -862,12 +832,6 @@ BOOL WINAPI NtUserSetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alph
     return unix_funcs->pNtUserSetLayeredWindowAttributes( hwnd, key, alpha, flags );
 }
 
-BOOL WINAPI NtUserSetMenu( HWND hwnd, HMENU menu )
-{
-    if (!unix_funcs) return FALSE;
-    return unix_funcs->pNtUserSetMenu( hwnd, menu );
-}
-
 HWND WINAPI NtUserSetParent( HWND hwnd, HWND parent )
 {
     if (!unix_funcs) return 0;
@@ -880,12 +844,6 @@ INT WINAPI NtUserSetScrollInfo( HWND hwnd, INT bar, const SCROLLINFO *info, BOOL
     return unix_funcs->pNtUserSetScrollInfo( hwnd, bar, info, redraw );
 }
 
-BOOL WINAPI NtUserSetSystemMenu( HWND hwnd, HMENU menu )
-{
-    if (!unix_funcs) return FALSE;
-    return unix_funcs->pNtUserSetSystemMenu( hwnd, menu );
-}
-
 LONG WINAPI NtUserSetWindowLong( HWND hwnd, INT offset, LONG newval, BOOL ansi )
 {
     if (!unix_funcs) return 0;
@@ -946,12 +904,6 @@ BOOL WINAPI NtUserSystemParametersInfoForDpi( UINT action, UINT val, PVOID ptr,
     return unix_funcs->pNtUserSystemParametersInfoForDpi( action, val, ptr, winini, dpi );
 }
 
-INT WINAPI NtUserTranslateAccelerator( HWND hwnd, HACCEL accel, MSG *msg )
-{
-    if (!unix_funcs) return 0;
-    return unix_funcs->pNtUserTranslateAccelerator( hwnd, accel, msg );
-}
-
 BOOL WINAPI NtUserUnregisterClass( UNICODE_STRING *name, HINSTANCE instance,
                                    struct client_menu_name *client_menu_name )
 {
diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h
index 9b2e1f020f89adaafa7fc90ec59dca7740966c1c..cd1823edc76d250d1c9ee86f9f38728259257e1f 100644
--- a/dlls/wow64win/syscall.h
+++ b/dlls/wow64win/syscall.h
@@ -121,12 +121,14 @@
     SYSCALL_ENTRY( NtUserDestroyAcceleratorTable ) \
     SYSCALL_ENTRY( NtUserDestroyCursor ) \
     SYSCALL_ENTRY( NtUserDestroyInputContext ) \
+    SYSCALL_ENTRY( NtUserDestroyMenu ) \
     SYSCALL_ENTRY( NtUserDestroyWindow ) \
     SYSCALL_ENTRY( NtUserDisableThreadIme ) \
     SYSCALL_ENTRY( NtUserDispatchMessage ) \
     SYSCALL_ENTRY( NtUserDragDetect ) \
     SYSCALL_ENTRY( NtUserDrawIconEx ) \
     SYSCALL_ENTRY( NtUserEmptyClipboard ) \
+    SYSCALL_ENTRY( NtUserEnableMenuItem ) \
     SYSCALL_ENTRY( NtUserEndDeferWindowPosEx ) \
     SYSCALL_ENTRY( NtUserEndMenu ) \
     SYSCALL_ENTRY( NtUserEnumDisplayDevices ) \
@@ -163,6 +165,7 @@
     SYSCALL_ENTRY( NtUserGetKeyboardLayoutName ) \
     SYSCALL_ENTRY( NtUserGetKeyboardState ) \
     SYSCALL_ENTRY( NtUserGetLayeredWindowAttributes ) \
+    SYSCALL_ENTRY( NtUserGetMenuBarInfo ) \
     SYSCALL_ENTRY( NtUserGetMenuItemRect ) \
     SYSCALL_ENTRY( NtUserGetMessage ) \
     SYSCALL_ENTRY( NtUserGetMouseMovePointsEx ) \
@@ -179,6 +182,7 @@
     SYSCALL_ENTRY( NtUserGetRawInputDeviceList ) \
     SYSCALL_ENTRY( NtUserGetRegisteredRawInputDevices ) \
     SYSCALL_ENTRY( NtUserGetSystemDpiForProcess ) \
+    SYSCALL_ENTRY( NtUserGetSystemMenu ) \
     SYSCALL_ENTRY( NtUserGetThreadDesktop ) \
     SYSCALL_ENTRY( NtUserGetTitleBarInfo ) \
     SYSCALL_ENTRY( NtUserGetUpdateRect ) \
@@ -186,6 +190,7 @@
     SYSCALL_ENTRY( NtUserGetUpdatedClipboardFormats ) \
     SYSCALL_ENTRY( NtUserGetWindowRgnEx ) \
     SYSCALL_ENTRY( NtUserHideCaret ) \
+    SYSCALL_ENTRY( NtUserHiliteMenuItem ) \
     SYSCALL_ENTRY( NtUserInitializeClientPfnArrays ) \
     SYSCALL_ENTRY( NtUserInternalGetWindowText ) \
     SYSCALL_ENTRY( NtUserInvalidateRect ) \
@@ -225,6 +230,7 @@
     SYSCALL_ENTRY( NtUserSetFocus ) \
     SYSCALL_ENTRY( NtUserSetInternalWindowPos ) \
     SYSCALL_ENTRY( NtUserSetKeyboardState ) \
+    SYSCALL_ENTRY( NtUserSetMenu ) \
     SYSCALL_ENTRY( NtUserSetMenuContextHelpId ) \
     SYSCALL_ENTRY( NtUserSetMenuDefaultItem ) \
     SYSCALL_ENTRY( NtUserSetObjectInformation ) \
@@ -232,6 +238,7 @@
     SYSCALL_ENTRY( NtUserSetProcessWindowStation ) \
     SYSCALL_ENTRY( NtUserSetProp ) \
     SYSCALL_ENTRY( NtUserSetSysColors ) \
+    SYSCALL_ENTRY( NtUserSetSystemMenu ) \
     SYSCALL_ENTRY( NtUserSetSystemTimer ) \
     SYSCALL_ENTRY( NtUserSetThreadDesktop ) \
     SYSCALL_ENTRY( NtUserSetTimer ) \
@@ -245,6 +252,7 @@
     SYSCALL_ENTRY( NtUserToUnicodeEx ) \
     SYSCALL_ENTRY( NtUserTrackMouseEvent ) \
     SYSCALL_ENTRY( NtUserTrackPopupMenuEx ) \
+    SYSCALL_ENTRY( NtUserTranslateAccelerator )  \
     SYSCALL_ENTRY( NtUserTranslateMessage ) \
     SYSCALL_ENTRY( NtUserUnhookWinEvent ) \
     SYSCALL_ENTRY( NtUserUnhookWindowsHookEx ) \
diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c
index c54e96d53c6c533a1f043772d7bc4907003c2581..057ca7729054949c4d50582af9eb534ec4267f1a 100644
--- a/dlls/wow64win/user.c
+++ b/dlls/wow64win/user.c
@@ -507,6 +507,13 @@ NTSTATUS WINAPI wow64_NtUserDestroyInputContext( UINT *args )
     return NtUserDestroyInputContext( handle );
 }
 
+NTSTATUS WINAPI wow64_NtUserDestroyMenu( UINT *args )
+{
+    HMENU handle = get_handle( &args );
+
+    return NtUserDestroyMenu( handle );
+}
+
 NTSTATUS WINAPI wow64_NtUserDestroyWindow( UINT *args )
 {
     HWND hwnd = get_handle( &args );
@@ -558,6 +565,15 @@ NTSTATUS WINAPI wow64_NtUserEmptyClipboard( UINT *args )
     return NtUserEmptyClipboard();
 }
 
+NTSTATUS WINAPI wow64_NtUserEnableMenuItem( UINT *args )
+{
+    HMENU handle = get_handle( &args );
+    UINT id = get_ulong( &args );
+    UINT flags = get_ulong( &args );
+
+    return NtUserEnableMenuItem( handle, id, flags );
+}
+
 NTSTATUS WINAPI wow64_NtUserEndDeferWindowPosEx( UINT *args )
 {
     HDWP hdwp = get_handle( &args );
@@ -950,6 +966,38 @@ NTSTATUS WINAPI wow64_NtUserGetLayeredWindowAttributes( UINT *args )
     return NtUserGetLayeredWindowAttributes( hwnd, key, alpha, flags );
 }
 
+NTSTATUS WINAPI wow64_NtUserGetMenuBarInfo( UINT *args )
+{
+    HWND hwnd = get_handle( &args );
+    LONG id = get_ulong( &args );
+    LONG item = get_ulong( &args );
+    struct
+    {
+        DWORD cbSize;
+        RECT  rcBar;
+        ULONG hMenu;
+        ULONG hwndMenu;
+        BOOL  fBarFocused:1;
+        BOOL  fFocused:1;
+    } *info32 = get_ptr( &args );
+
+    MENUBARINFO info;
+
+    if (info32->cbSize != sizeof(*info32))
+    {
+        SetLastError( ERROR_INVALID_PARAMETER );
+        return FALSE;
+    }
+
+    info.cbSize = sizeof(info);
+    info.rcBar = info32->rcBar;
+    info.hMenu = UlongToHandle( info32->hMenu );
+    info.hwndMenu = UlongToHandle( info32->hwndMenu );
+    info.fBarFocused = info32->fBarFocused;
+    info.fFocused = info32->fFocused;
+    return NtUserGetMenuBarInfo( hwnd, id, item, &info );
+}
+
 NTSTATUS WINAPI wow64_NtUserGetMenuItemRect( UINT *args )
 {
     HWND hwnd = get_handle( &args );
@@ -1241,6 +1289,14 @@ NTSTATUS WINAPI wow64_NtUserGetSystemDpiForProcess( UINT *args )
     return NtUserGetSystemDpiForProcess( process );
 }
 
+NTSTATUS WINAPI wow64_NtUserGetSystemMenu( UINT *args )
+{
+    HWND hwnd = get_handle( &args );
+    BOOL revert = get_ulong( &args );
+
+    return HandleToUlong( NtUserGetSystemMenu( hwnd, revert ));
+}
+
 NTSTATUS WINAPI wow64_NtUserGetThreadDesktop( UINT *args )
 {
     DWORD thread = get_ulong( &args );
@@ -1299,6 +1355,16 @@ NTSTATUS WINAPI wow64_NtUserHideCaret( UINT *args )
     return NtUserHideCaret( hwnd );
 }
 
+NTSTATUS WINAPI wow64_NtUserHiliteMenuItem( UINT *args )
+{
+    HWND hwnd = get_handle( &args );
+    HMENU handle = get_handle( &args );
+    UINT item = get_ulong( &args );
+    UINT hilite = get_ulong( &args );
+
+    return NtUserHiliteMenuItem( hwnd, handle, item, hilite );
+}
+
 NTSTATUS WINAPI wow64_NtUserInitializeClientPfnArrays( UINT *args )
 {
     FIXME( "\n" );
@@ -1743,6 +1809,14 @@ NTSTATUS WINAPI wow64_NtUserSetKeyboardState( UINT *args )
     return NtUserSetKeyboardState( state );
 }
 
+NTSTATUS WINAPI wow64_NtUserSetMenu( UINT *args )
+{
+    HWND hwnd = get_handle( &args );
+    HMENU menu = get_handle( &args );
+
+    return NtUserSetMenu( hwnd, menu );
+}
+
 NTSTATUS WINAPI wow64_NtUserSetMenuContextHelpId( UINT *args )
 {
     HMENU menu = get_handle( &args );
@@ -1803,6 +1877,14 @@ NTSTATUS WINAPI wow64_NtUserSetSysColors( UINT *args )
     return NtUserSetSysColors( count, colors, values );
 }
 
+NTSTATUS WINAPI wow64_NtUserSetSystemMenu( UINT *args )
+{
+    HWND hwnd = get_handle( &args );
+    HMENU menu = get_handle( &args );
+
+    return NtUserSetSystemMenu( hwnd, menu );
+}
+
 NTSTATUS WINAPI wow64_NtUserSetSystemTimer( UINT *args )
 {
     HWND hwnd = get_handle( &args );
@@ -2008,6 +2090,17 @@ NTSTATUS WINAPI wow64_NtUserTrackPopupMenuEx( UINT *args )
     return NtUserTrackPopupMenuEx( handle, flags, x, y, hwnd, params );
 }
 
+NTSTATUS WINAPI wow64_NtUserTranslateAccelerator( UINT *args )
+{
+    HWND hwnd = get_handle( &args );
+    HACCEL accel = get_handle( &args );
+    MSG32 *msg32 = get_ptr( &args );
+
+    MSG msg;
+
+    return NtUserTranslateAccelerator( hwnd, accel, msg_32to64( &msg, msg32 ));
+}
+
 NTSTATUS WINAPI wow64_NtUserTranslateMessage( UINT *args )
 {
     const MSG32 *msg32 = get_ptr( &args );