以下是引用吹水佬在2026-5-28 16:18:47的发言:
按要求测试未见异常
测试文件:
我10几年前用的电脑也出现过这类问题。
事情有点飘忽,同一个程序只有个别电脑有时会出现这种现象,怀疑有可能是其他应用程序“抢焦”的问题。
当时处理也没什么好方法,试过 Desktop = .f. 时未见出现过(可能存在偶然性)。但实际应用要求 Desktop = .t.,只好在出现这类问题时用全局热键通过 forms 枚举所有表单 SetFocus(thisform.hWnd)。
会不会运行抛出异常提示窗口时被盖住,用户看不到而“挂了”。
感谢你的例子,我测试了,运行正常
偶尔大概率出现异常状况的情况是:第三层窗口的load或init运行耗时代码影响到第三层窗口瞬间弹出,或第三层窗口的load或init运行耗时代码后弹出messagebox,那么第三层窗口和这个messagebox有机会被第2层窗口遮挡。
加大复现概率的情况是:上述情况在远程协助操作时
解决办法:1、如果窗口init有耗时代码,在它的最后增加一个激活置顶窗口的代码
2、主窗口计时器定时枚举messagebox窗口#32770激活置顶