public MessageThread(ThreadPriority threadPriority)
{
MessageHandlers = new Dictionary<int, CallbackDelegate>();
using (ManualResetEvent initialized = new ManualResetEvent(false))
{
thread = new Thread(delegate ()
{
Application.AddMessageFilter(this);
Application.DoEvents();
Win32ThreadID = NativeMethods.GetCurrentThreadId();
initialized.Set();
Application.Run();
});
thread.Priority = threadPriority;
thread.Start();
initialized.WaitOne();
}
}