我正在尝试从主线程向C#wpf中的后台发送消息。
后台主题如下:
public class LoopThread()
{
public void Start()
{
User32.MSG msg;
sbyte ret;
while(true)
{
ret = User32.GetMessage(out msg, IntPtr.Zero, 0, 0);
//Here the debugger never reaches
......
}
}
}
主线程:
LoopThread loop = new LoopThread();
Thread threadLoop = new Thread(loop.Start);
threadLoop.Start();
Thread.Sleep(100);
bool postResult = User32.PostThreadMessage(
Convert.ToUInt32(threadLoop.ManagedThreadId),
WM_USER + 1,
UIntPtr.Zero,
IntPtr.Zero);
但是postResult == false
。 GetLastWin32Error
会返回ERROR_INVALID_THREAD_ID
。
那么,错误在哪里?