두 프로세스 A와 B가 있습니다.Windows와의 다중 스레드 상호 작용 EventLog
프로세스 A는 5 초마다 EventLogEntry를 계속 작성합니다.
프로세스 B는 EventLog 개체의 EntryWritten 이벤트를 수신해야하며 ASAP는 항목이 기록되었음을 화면에보고해야합니다.
수동으로 닫을 때까지 항상 실행되어야하는 프로세스 B. (exe)를 만드는 방법. 이
class Observer
{
static void Main(string[] args)
{
EventLog log = new EventLog("logname", "MyMachine", "source");
log.EntryWritten += new EntryWrittenEventHandler(log_EntryWritten);
log.EnableRaisingEvents = true;
// The thread shouldn't exit here but wait till the event is received
// When received, should call the handler
// and then again keep waiting for next event.
}
static void log_EntryWritten(object sender, EntryWrittenEventArgs e)
{
if (e.Entry.Source == "source")
{
Console.WriteLine("Message " + e.Entry.Message);
Console.WriteLine("InstanceId " + e.Entry.InstanceId);
Console.WriteLine("Source " + e.Entry.Source);
Console.WriteLine("TimeWritten " + e.Entry.TimeWritten);
Console.ReadLine();
Console.WriteLine("\n");
}
}
}
이
방법이
을 수행 할 수 있습니다 :Pls는 다음과 같은 코드를 볼?
감사합니다.
static void Main(string[] args)
{
EventLog log = new EventLog("logname", "MyMachine", "source");
log.EntryWritten += new EntryWrittenEventHandler(log_EntryWritten);
log.EnableRaisingEvents = true;
//Wait for a key to be pressed.
Console.ReadKey();
}