C++ Builder 编译的程序在新版Windows10运行出错

在2020年下半年,以前用BCB6.0,C++Builder 2010,C++Builder XE7编写的程序,在新版的Windows10中运行出错。进行各种操作,包括打开保存的文件,数据采集显示,系统响应(按钮,菜单操作),几次后软件就锁死了,只能通过任务管理器结束任务。

请高手指点。

经查,在Windows10的版本号为20H2时,程序的一段代码引起的,屏蔽后解决。

        DWORD dwCurrTime = ::GetTickCount();
        MSG Msg;
        while(1)
        {
             if( ::PeekMessage(&Msg,NULL,0,0,PM_NOREMOVE ))
             {
                    if( ::GetMessage( &Msg,NULL,0,0 ) )
                    {
                        if((Msg.message & 0xFFFF) != WM_MOUSEMOVE)
                        {
                                //::TranslateMessage(&Msg);
                                //::DispatchMessage(&Msg);
                        }
                    }
             }
             if(::GetTickCount() - dwCurrTime > 50)
             {
                        break;
             }
        }

程序执行这一段代码后,在调用系统的SaveDialog,OpenDialog会造成程序不能响应,只能通过任务管理器结束任务。