private bool IsRespondingCore()
{
const int WM_NULL = 0x0000;
const int SMTO_ABORTIFHUNG = 0x0002;
IntPtr mainWindow = MainWindowHandle;
if (mainWindow == (IntPtr)0)
{
return true;
}
IntPtr result;
return Interop.User32.SendMessageTimeout(mainWindow, WM_NULL, IntPtr.Zero, IntPtr.Zero, SMTO_ABORTIFHUNG, 5000, out result) != (IntPtr)0;
}