Мне иногда нужно обрабатывать большой объем данных из одного пакета вне сети, что занимает достаточно много времени, чтобы при попытке пользователя взаимодействовать с окнами приложения в заголовок окна добавлялась строка «(не отвечает)». Я знаю, что это потому, что обработка выполняется в вызове для обработки сообщения (каким-то образом вверх по стеку) и, следовательно, блокирует рассылку сообщений. Я также знаю, что идеальный способ справиться с этим - это асинхронно обрабатывать данные в отдельном потоке, чтобы насос мог продолжать работу, однако это БОЛЬШОЕ настольное приложение, которое является однопоточным сверху вниз и безопасно отбрасывает эту обработку невозможно в наше время.
Итак, с учетом этого, есть ли какой-нибудь шанс, которым я могу, по крайней мере, избежать "не отвечающего" прозвища (которое большинство пользователей читает как "сбой"), сообщая windows, что мое приложение собирается быть занятым до того Я начинаю работу? Я полагаю, что что-то в этом роде, когда отвечаешь на запрос о закрытии, можно продолжать просить у окон больше времени, чтобы избежать объявления о том, что ты не "закрываешься своевременно"
Я должен добавить, что это приложение C ++ MFC.