diff --git a/dlls/user/misc.c b/dlls/user/misc.c
index fc4bf03..f653a69 100644
--- a/dlls/user/misc.c
+++ b/dlls/user/misc.c
@@ -82,6 +82,17 @@
     SetLastError( error );
 }
 
+BOOL WINAPI GetAltTabInfoA(HWND hwnd, int iItem, PALTTABINFO pati, LPSTR pszItemText, UINT cchItemText)
+{
+    FIXME("(%p, 0x%08x, %p, %p, 0x%08x)\n", hwnd, iItem, pati, pszItemText, cchItemText);
+    return FALSE;
+}
+
+BOOL WINAPI GetAltTabInfoW(HWND hwnd, int iItem, PALTTABINFO pati, LPWSTR pszItemText, UINT cchItemText)
+{
+    FIXME("(%p, 0x%08x, %p, %p, 0x%08x)\n", hwnd, iItem, pati, pszItemText, cchItemText);
+    return FALSE;
+}
 
 /******************************************************************************
  * GetProcessWindowStation [USER32.@]  Returns handle of window station
diff --git a/dlls/user/user32.spec b/dlls/user/user32.spec
index 9915221..7b947c5 100644
--- a/dlls/user/user32.spec
+++ b/dlls/user/user32.spec
@@ -693,7 +693,9 @@
 @ stdcall DrawMenuBarTemp(long long long long long)
 @ stdcall EnumDisplaySettingsExA(str long ptr long)
 @ stdcall EnumDisplaySettingsExW(wstr long ptr long)
-# @ stub GetAltTabInfo
+@ stdcall GetAltTabInfo(long long ptr ptr long) GetAltTabInfoA
+@ stdcall GetAltTabInfoA(long long ptr ptr long)
+@ stdcall GetAltTabInfoW(long long ptr ptr long)
 @ stdcall GetAncestor(long long)
 @ stdcall GetClipboardSequenceNumber ()
 @ stdcall GetWindowModuleFileNameA(long ptr long)
diff --git a/include/winuser.h b/include/winuser.h
index 3ab3adb..68b9e34 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -3610,6 +3610,20 @@
     DWORD dwTime;
 } LASTINPUTINFO, *PLASTINPUTINFO;
 
+/* used by GetAltTabInfo */
+typedef struct
+{
+    DWORD cbSize;
+    INT cItems;
+    INT cColumns;
+    INT cRows;
+    INT iColFocus;
+    INT iRowFocus;
+    INT cxItem;
+    INT cyItem;
+    POINT ptStart;
+} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
+
 /* SetWinEventHook() flags */
 #define WINEVENT_OUTOFCONTEXT   0x0
 #define WINEVENT_SKIPOWNTHREAD  0x1
@@ -3813,8 +3827,11 @@
 INT       WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
 INT       WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
 #define     EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
-BOOL      WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
-BOOL      WINAPI ExitWindowsEx(UINT,DWORD);
+BOOL        WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
+BOOL        WINAPI ExitWindowsEx(UINT,DWORD);
+BOOL        WINAPI GetAltTabInfoA(HWND,INT,PALTTABINFO,LPSTR,UINT);
+BOOL        WINAPI GetAltTabInfoW(HWND,INT,PALTTABINFO,LPWSTR,UINT);
+#define     GetAltTabInfo WINELIB_NAME_AW(GetAltTabInfo)
 BOOL      WINAPI GetIconInfo(HICON,PICONINFO);
 HKL       WINAPI GetKeyboardLayout(DWORD);
 UINT      WINAPI GetKeyboardLayoutList(INT,HKL *);
