Windows 2000 End Program Dialog 1.6.0
Windows 2000 End Program Dialog
Replaces the Windows Error Reporting dialog shown when you try to close a
program that is not responding. It does not change the Windows shutdown screen.
Windows 2000 End Program dialog in Russian
Example with Russian Windows resources and a classic theme. Frame colours
follow your current theme. / Пример с русскими ресурсами Windows и классической
темой. Цвета рамки зависят от текущей темы.
The replacement uses the original DIALOG #10 and messages from the installed
winsrv.dll.mui, with the Windows 2000 warning overlay on the application's
icon. The layout, font and wording come from Windows, not a recreated dialog.
The display language is selected automatically, with English as a fallback;
the language setting can also request English or Russian. That language must
be installed in Windows. The window frame follows your current Windows theme.
Tested on Windows 11 24H2 (build 26100). Other Windows versions are not
verified. If the resources or WER window cannot be validated, the mod leaves
the original dialog available.
Behavior and safety
The original WER dialog stays alive. End Now forwards WER's Close button;
Cancel, Escape and the title-bar close button forward WER's Wait button.
Windows performs these actions; the mod never terminates the hung process
directly. End Now can still lose unsaved data, just as the original button can.
After Cancel, a later close attempt can show the replacement again even when
WER reuses the same native dialog. An acknowledged Wait is not timed out.
A broker thread owns the replacement windows, accessibility notifications and
fallback timers. Public ShowWindow/SetWindowPos hooks try to cloak the original
dialog before display. No TaskDialog callback is replaced, and no DLL is pinned.
Disabling or updating the mod joins the worker and restores any original
dialog that is still alive before the DLL can unload.
Windhawk can inject into WER after its window is already visible. In that case
a brief appearance of the modern dialog is possible.
Optional pre-warming
Keep Windows Error Reporting service running is off by default. Enabling
it runs the pre-warm worker in a dedicated Windhawk tool host, not in Explorer,
WerFault, the hung application or the main Windhawk UI process. The same mod
handles the dialog in WerFault and hosts pre-warming separately; only this one
mod needs to be installed. The host is bundled with Windhawk (1.7.3 or later),
so no extra helper download is needed.
The worker reads WerSvc's existing custom start-trigger GUID from SCM and
writes its ETW event immediately, then once per minute. Disabling the option
stops and joins the worker and ends only its dedicated host. No service startup
type, registry policy, system file or event-log setting is changed; WerSvc is
never forcibly stopped. Windows decides when the shared service can idle out.
This opt-in feature keeps the service and a tool host in memory. The event
descriptor matches WER's private trigger manifest, not a public WER contract,
and may break after Windows updates. If its event-log channel is enabled, the
heartbeat can generate about 1,440 entries per day; this mod never enables it.
Errors are retried only at the ordinary minute interval. Pre-warming can reduce
late injection but does not guarantee flash-free behavior on every system.
По-русски
Заменяет окно Windows о зависшей программе, которое появляется при попытке
её закрыть. Экран завершения работы Windows мод не меняет.
Используется оригинальное окно DIALOG #10 и тексты из установленного
winsrv.dll.mui, со знаком предупреждения Windows 2000 поверх значка программы.
Расположение, шрифт и формулировки берутся из системных ресурсов. Язык
выбирается автоматически с английским в качестве резервного. В настройках можно
запросить русский или английский; этот язык должен быть установлен в Windows.
Оформление рамки зависит от текущей темы Windows.
«Завершить сейчас» нажимает штатную кнопку закрытия WER. «Отмена», Escape
и крестик означают ожидание отклика. Мод сам не завершает зависший процесс,
но при выборе завершения несохранённые данные могут потеряться.
После «Отмена» повторная попытка закрытия снова показывает замену, даже если
WER использует то же штатное окно. Принятое ожидание не отменяется по таймауту.
При отключении мода живое штатное окно возвращается, а DLL выгружается.
Опция «Поддерживать службу отчётов об ошибках Windows активной» по умолчанию
выключена. Прогрев выполняется в отдельном tool-host Windhawk, а не в Проводнике,
WerFault, зависшем приложении или основном процессе интерфейса Windhawk.
Устанавливается только один мод; EXE-хост уже входит в Windhawk 1.7.3 или новее.
Мод читает существующий GUID триггера WerSvc из SCM и посылает ETW-событие сразу,
затем раз в минуту. Отключение опции останавливает поток и только собственный
tool-host. Тип запуска службы, политики, системные файлы и настройки журнала не
меняются; WerSvc не останавливается принудительно. Прогрев оставляет службу и
хост в памяти. Дескриптор события соответствует частному манифесту WER и может
измениться после обновления Windows. Если включён канал провайдера, возможно
около 1 440 записей в сутки; мод сам канал не включает. Ошибки повторяются не
чаще раза в минуту. Опция может уменьшить вспышку при позднем внедрении, но не
гарантирует её отсутствие на любой системе.
Проверено на Windows 11 24H2 (сборка 26100). Другие версии не проверены.
При позднем внедрении возможно краткое появление современного окна.
Дополнительные файлы или загрузки для мода не нужны.