From 8e52e23724a984dffb09c511ba17b782cfefa87b Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Fri, 2 Apr 2004 23:54:26 +0000 Subject: [PATCH] partially implemented IsHungAppWindow() svn path=/trunk/; revision=8956 --- reactos/include/win32k/ntuser.h | 3 +++ reactos/lib/user32/windows/window.c | 7 +++---- reactos/subsys/win32k/ntuser/window.c | 10 +++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/reactos/include/win32k/ntuser.h b/reactos/include/win32k/ntuser.h index 9be873fbc9e..b20c47853f0 100644 --- a/reactos/include/win32k/ntuser.h +++ b/reactos/include/win32k/ntuser.h @@ -1065,6 +1065,9 @@ NtUserQueryUserCounters( DWORD Unknown3, DWORD Unknown4); +#define QUERY_WINDOW_UNIQUE_PROCESS_ID 0x00 +#define QUERY_WINDOW_UNIQUE_THREAD_ID 0x01 +#define QUERY_WINDOW_ISHUNG 0x04 DWORD STDCALL NtUserQueryWindow( diff --git a/reactos/lib/user32/windows/window.c b/reactos/lib/user32/windows/window.c index a91fbb580c0..72bb81d0419 100644 --- a/reactos/lib/user32/windows/window.c +++ b/reactos/lib/user32/windows/window.c @@ -1,4 +1,4 @@ -/* $Id: window.c,v 1.104 2004/04/02 22:16:09 weiden Exp $ +/* $Id: window.c,v 1.105 2004/04/02 23:54:26 weiden Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS user32.dll @@ -1456,14 +1456,13 @@ InternalGetWindowText(HWND hWnd, LPWSTR lpString, int nMaxCount) } /* - * @unimplemented + * @implemented */ BOOL STDCALL IsHungAppWindow(HWND hwnd) { - /* FIXME: ReactOS doesnt identify hung app windows yet */ - return FALSE; + return (NtUserQueryWindow(hwnd, QUERY_WINDOW_ISHUNG) != 0); } /* diff --git a/reactos/subsys/win32k/ntuser/window.c b/reactos/subsys/win32k/ntuser/window.c index 47a95ba9aa6..5b9ebc29d28 100644 --- a/reactos/subsys/win32k/ntuser/window.c +++ b/reactos/subsys/win32k/ntuser/window.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: window.c,v 1.208 2004/04/02 20:51:08 weiden Exp $ +/* $Id: window.c,v 1.209 2004/04/02 23:54:26 weiden Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -3200,14 +3200,18 @@ NtUserQueryWindow(HWND hWnd, DWORD Index) switch(Index) { - case 0x00: + case QUERY_WINDOW_UNIQUE_PROCESS_ID: Result = (DWORD)IntGetWndProcessId(Window); break; - case 0x01: + case QUERY_WINDOW_UNIQUE_THREAD_ID: Result = (DWORD)IntGetWndThreadId(Window); break; + case QUERY_WINDOW_ISHUNG: + Result = (DWORD)MsqIsHung(Window->MessageQueue); + break; + default: Result = (DWORD)NULL; break;