Вимкнення вимкнення програми Windows 7 під час тривалих / зайнятих програм


1

Зразок зображення

У мене є декілька старих спеціальних програм, які виконують тривалі завдання. У попередніх версіях Windows програми втрачали відповідь під час виконання заданого завдання. Іноді інтерфейс користувача оновлювався, іноді - ні.

Однак у Windows 7, коли інтерфейс користувача не реагує, все вікно затьмарюється, і інтерфейс ніколи не оновлюється, поки завдання продовжується.

Хоча це може бути наслідком поганого коду (не породження окремих процесів для тривалих завдань), змінити їх не є можливим.

Чи можна відключити сірість / згасання невідповідних / зайнятих програм у Windows 7?


Процеси, що працюють у відладчику, не зависають. Чи прийнято писати міні-налагоджувач? Що - щось на зразок ... CreateProcess(); DebugActiveProcess(); for(;;)WaitForDebugEvent();.
Деймон

Відповіді:


1

Ви пам’ятаєте налаштування HungAppTimeout, з яким вони заблукали для відключення. це нібито спрацювало б у цій ситуації.

це найбільш близька і найточніша схожість з вашою ситуацією, з добре написаним виправленням. http://fieldp.com/myblog/2011/large-mesh-plots-revisited-program-not-responding/

Я б спробував це, тому що це нічого не зашкодить, якщо це неправильно.


1

Чи можна відключити сірість / згасання невідповідних / зайнятих програм у Windows 7?

Так, але це має зробити сама програма. Він повинен викликати DisableProcessWindowsGhosting()функцію. Очевидно, якщо ви зробите вибір, що

їх зміна не є варіантом

тоді ваші програми не закличуть цю функцію, і ви отримаєте "привид". Цей «привид» замінює вікно, що не реагує, на чуйне вікно, яке дозволяє, до речі, обмежувати кількість взаємодій із інтерфейсом користувача (мінімізація, переміщення та закриття).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.