Process process = new();
process.StartInfo.FileName = "notepad.exe";
process.Start();
var targetPid = process.Id;
Console.WriteLine($"Started process with PID: {targetPid}");
using (var session = new TraceEventSession("monitor_test"))
{
session.EnableKernelProvider(KernelTraceEventParser.Keywords.FileIOInit);
session.Source.Kernel.FileIORead += (data) =>
{
if (data.ProcessID == targetPid)
{
Console.WriteLine($"[File Open] Process {data.ProcessID} opened: {data.FileName}");
}
};
session.Source.Kernel.FileIOCreate += (data) =>
{
if (data.ProcessID == targetPid)
{
Console.WriteLine($"[File Create] Process {data.ProcessID} opened: {data.FileName}");
}
};
session.Source.Kernel.FileIOWrite += (data) =>
{
if (data.ProcessID == targetPid)
{
Console.WriteLine($"[File Write] Process {data.ProcessID} wrote to: {data.FileName}");
}
};
session.Source.Process();