PostThreadMessage到后台线程失败

时间:2012-12-13 08:28:29

标签: c# multithreading winapi

我正在尝试从主线程向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 == falseGetLastWin32Error会返回ERROR_INVALID_THREAD_ID

那么,错误在哪里?

0 个答案:

没有答案