Beispiel #1
0
        public void Run()
        {
            var oldContext = SynchronizationContext.Current;

            SynchronizationContext.SetSynchronizationContext(m_synchronizationContext);

            try
            {
                m_logic.Start();

                var message = new WinApi.Message();

                m_display.Show();

                m_stopwatch.Start();

                while (WinApi.GetMessage(ref message, IntPtr.Zero, 0, 0))
                {
                    if (message.id == WinApi.WM_USER)
                    {
                        m_synchronizationContext.ExecuteAction();
                    }
                    else
                    {
                        WinApi.TranslateMessage(ref message);
                        WinApi.DispatchMessage(ref message);
                    }
                }

                m_display.Hide();

                m_logic.Stop();
            }
            finally
            {
                SynchronizationContext.SetSynchronizationContext(oldContext);
            }
        }
        public void Run()
        {
            var oldContext = SynchronizationContext.Current;
            SynchronizationContext.SetSynchronizationContext(m_synchronizationContext);

            try
            {
                m_logic.Start();

                var message = new WinApi.Message();

                m_display.Show();

                m_stopwatch.Start();

                while (WinApi.GetMessage(ref message, IntPtr.Zero, 0, 0))
                {
                    if (message.id == WinApi.WM_USER)
                    {
                        m_synchronizationContext.ExecuteAction();
                    }
                    else
                    {
                        WinApi.TranslateMessage(ref message);
                        WinApi.DispatchMessage(ref message);
                    }
                }

                m_display.Hide();

                m_logic.Stop();
            }
            finally
            {
                SynchronizationContext.SetSynchronizationContext(oldContext);
            }
        }