@wmismail
Anladim hocam, senin icin basit bir kod yazdim,

Bu kod her 500 ms'da bir sürekli olarak dosyaya bir seyler yazar (yani dosya lock pozisyonunda, senin sistemindeki gibi..
-Winform app
public partial class Form1 : Form
{
private System.IO.StreamWriter sw;
private System.Timers.Timer timer;
public Form1()
{
InitializeComponent();
sw = new System.IO.StreamWriter(@"C:Tempdata.txt",true);
sw.AutoFlush = true;
timer = new System.Timers.Timer(500);
timer.Elapsed += (sender, args) =>
{
sw.WriteLine("This is a temp text on " + DateTime.Now.ToString());
};
}

private void BtnWrite_Click(object sender, EventArgs e)
{
timer.Start();
}
}
Simdi ise txt dosyamizin boyutunu belirli sürelerde kontrol ederek iceriginin degisip degismedigini anlayabiliriz
- Console App
private static System.Timers.Timer timer;
private static System.IO.FileInfo _fileInfo;
private static long lastLength;
static void Main(string[] args)
{

timer = new System.Timers.Timer(1000);
timer.Elapsed += (sender, eventArgs) =>
{
_fileInfo.Refresh();
if (lastLength == _fileInfo.Length) return;
lastLength = _fileInfo.Length;
Console.WriteLine("File content has been changed!");
};

_fileInfo= new System.IO.FileInfo(@"C:Tempdata.txt");
lastLength = _fileInfo.Length;
timer.Start();
Console.ReadKey();
}
Yukaridaki kod ise her 1 saniye bir olarak dosyanin boyutunu kontrol ediyor. Eger degisiklik varsa ekrana yazi yazdiriyor..

Bu sekilde sistem calisiyor. Tabi performans acisindan ne kadar saglikli olur acikcasi bilmiyorum, aklima gelen ilk yolla yaptim. Umarim faydali olur. Kolaygelsin