0

メイン スレッドから 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

では、どこが間違っているのでしょうか。

4

0 に答える 0