[WIN32SS][USER32] Ghost is a hung window (#1244)

IsHungAppWindow(a ghost window) == TRUE. CORE-11944
This commit is contained in:
Katayama Hirofumi MZ 2019-01-15 19:40:34 +09:00 committed by GitHub
parent 2440df762c
commit 9285bd19de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1841,6 +1841,18 @@ InternalGetWindowText(HWND hWnd, LPWSTR lpString, int nMaxCount)
BOOL WINAPI
IsHungAppWindow(HWND hwnd)
{
UNICODE_STRING ClassName;
WCHAR szClass[16];
static const UNICODE_STRING GhostClass = RTL_CONSTANT_STRING(L"Ghost");
/* Ghost is a hung window */
RtlInitEmptyUnicodeString(&ClassName, szClass, sizeof(szClass));
if (NtUserGetClassName(hwnd, FALSE, &ClassName) &&
RtlEqualUnicodeString(&ClassName, &GhostClass, TRUE))
{
return TRUE;
}
return (NtUserQueryWindow(hwnd, QUERY_WINDOW_ISHUNG) != 0);
}