停下来,换个角度

来源:互联网 发布:微信小程序 php接口 编辑:程序博客网 时间:2024/04/27 14:48

    前段时间,我把一套在XP系统下运行得很好的软件移植到Vista下,其它功能运行都很正常,除了一个功能:在IE7窗口上无法进行透明注解。 

    于是我在Vista下安装了开发环境,将程序的源代码拷贝到Vista下调试。一步步跟踪下来,最后找到问题所在:透明注解功能使用了一个鼠标勾子,用于在鼠标按下时将消息发送给程序的主窗口,但是如果在IE7窗口上点击鼠标,勾子线程向主窗口发送消息总是返回失败。找到了问题,我开始寻找解决的办法。我跟踪主窗口句柄是否有变化、试着将SendMessage改成PostMessage、最后甚至尝试直接使用接口调用。但是弄了一整个下午,丝毫没有进展。

   最后技术总监来了,询问了问题情况,然后开始帮我想办法。她不看代码,而是上网查找了一些关于Vista新特性的资料。第一次她看到了有关Vista下的Glass特性与一些软件冲突的讨论,于是让我试着打开/关闭Glass特性,问题没有解决。第二次她找到了IE7的保护特性,是MS为了阻止一些非法的ActiveX控件的自动安装或Java脚本的自动运行而增加的一个安全属性,于是让我把“保存模式”去掉再试试。Great!问题解决了!前后大概只花了20分钟。

    这让我感到十分的惭愧,一开始就找错了方向,浪费了大量的时间,却没有想到是否应该从另一个角度去解决问题。但是我也感到激动和欣喜,虽然问题不是我解决的,但是对我来说却是一次教训和积累,相信以后也会不断地给我提醒--当问题进入僵局的时候,停下来,换个角度思考!正因为这样,我激动地对总监说:总监,我欠你一顿饭啊!

原创粉丝点击