System.Diagnostics.EventLog
を用いて、システムのイベントログからチェックディスクのログを選択するサンプルコードです。
チェックディスクのインスタンスIDは公式のドキュメントが見つからなかったので、実際に列挙して該当したものを自前で定義しています。
Program.cs
using System; using System.Diagnostics; using System.Linq; const int CheckDiskInstanceID = 0x400003e9; var log = new EventLog("Application", ".", "Wininit"); var entries = log.Entries.Cast<EventLogEntry>() .Where(entry => entry.InstanceId == CheckDiskInstanceID); foreach (var entry in entries) { Console.WriteLine(entry.Message); }
.csproj
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net5.0-windows</TargetFramework> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup> </Project>