Желая знать, если мой жесткий диск вдруг решит в очередной умереть, я создал в Планировщике задач новую задачу:
Т.е. при появлении в Журнале событий записи от источника «Disk» (или второй триггер от источника «Atapi»), с номером события 11, необходимо, чтобы было запущено уведомление с текстом. Если воспользоваться встроенным действием «Display a message», то сообщение выводилось, но иногда оно было закрыто другими окнами, и его можно было пропустить. Я написал программу на C++, аналогичную этой, которая выводила сообщение поверх всех окон.
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow)
{
MessageBox(NULL, "The driver detected a controller error!\n\rSee detail in the EventLog", "Disk Error", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL);
}
Теперь нужно было как-то протестировать работу триггера, но ждать, когда у меня снова посыпется HDD я не стал, а создал тестовую запись в Журнале событий с помощью PowerShell скрипта:
Write-EventLog –LogName System –Source "disk" –EntryType Error –EventID 11 –Message "This is a test message."
DenTNT недавно публиковал (посмотреть все)
- C#: Добавить поддержку перезапуска приложения - 21.02.2025
- EVE-Online: Отобразить информацию о соединении и fps - 20.02.2025
- WPF: Отображение прогресса с помощью async/await - 13.02.2025