软讯网络 > 网站建设 > 服务器相关 > [2006.6.25 14:30] 调试一个程序中的小问题,竟花了一上午时间
【标 题】:[2006.6.25 14:30] 调试一个程序中的小问题,竟花了一上午时间
【关键字】:
2006.6.25,14,30
【来 源】:http://www.cnitblog.com/dabor/archive/2006/06/25/12833.html
[2006.6.25 14:30] 调试一个程序中的小问题,竟花了一上午时间
我在对话框窗口程序 A 中,开了个线程 B ,在 B 中用 CreateProcess 打开另一个窗口程序 C ,同时隐藏程序 A 的窗口。很显然程序 C 的窗口应该显示出来并且处于激活状态。但是 C 的窗口就是不激活,标题栏是灰的。这下忙坏了,在 B 中对 C 又是 ShowWindow ,又是 SetForegroundWindow ,又是 SetActiveWindow ,还是不行,在前面加上 Sleep 2 秒,2 秒后 C 又变灰。焦头烂额 ......
想不到原来是 A 中在线程 B 结束的时候用 SetFocus 设置了 A 的一个控件。哈哈,你在 B 中无论你怎样激活窗口 C ,总要回到 A 来被 SetFocus 变成灰,狂晕!
程序出现了你意想之外的事情,一定有原因。因此我们一定要静下心来好好分析。