Доброго времени суток, уважаемые коллеги!
У меня имеется программа, в которой есть цикл ожидания события еще до основного конструктора:
while(1)
{
DWORD dwRet = WaitForSingleObject(hSync, 0);
if (dwRet == WAIT_OBJECT_0)
{
ResetEvent(hSync);
break;
}
Sleep(200);
}
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
}
Всё работает так как и задумывалось, но появилась проблема - если программа находится в цикле ожидания и в этот момент попытаться перезагрузить компьютер, то появится окошко с сообщением, что процесс не может завершиться самостоятельно. Очень нужно избежать этой ситуации, но пока никаких адекватных идей не нашлось.
Скажите, есть ли какая-то возможность на этом этапе отследить событие OnClose или сделать что-то еще, чтобы при перезагрузке система самостоятельно завершала процесс?